Foros del Web » Programando para Internet » PHP »

Mantener valor de select despues de enviar a otra pagina

Estas en el tema de Mantener valor de select despues de enviar a otra pagina en el foro de PHP en Foros del Web. Buenas tardes amigos, estoy tratando de realizar esta consulta lo que sucede es que despues de hacer mi PAGINA 1 @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver ...
  #1 (permalink)  
Antiguo 21/03/2016, 16:33
 
Fecha de Ingreso: enero-2012
Mensajes: 158
Antigüedad: 12 años, 3 meses
Puntos: 1
Información Mantener valor de select despues de enviar a otra pagina

Buenas tardes amigos, estoy tratando de realizar esta consulta
lo que sucede es que despues de hacer mi
PAGINA 1
Código PHP:
Ver original
  1. <form method="post" name="ver" id=ver>
  2.               <div class="md-card-content">
  3.                     <div class="uk-grid" data-uk-grid-margin="">
  4.                    
  5.                         <div class="uk-width-medium-3-10">
  6.                             <div class="uk-margin-small-top">
  7.                                <label for="product_search_name"><b>CATALOGO :</b></label>
  8.                                 <?php
  9.                                
  10.                                       $consulta="SELECT * FROM tge_catalogo";
  11.                                       $rsUd=sqlsrv_query($conn,$consulta);
  12.                                        
  13.                                     echo "<select name='catalogo' data-md-selectize id='product_search_status'>";
  14.                                     echo "<option value=''>Seleccionar</option>";
  15.                                     while($registro=sqlsrv_fetch_array($rsUd))
  16.                                     {
  17.                                        
  18.                                     if($_POST["catalogo"]==$registro[0])
  19.                                         {
  20.                                                     echo "<option value='".$registro[0]."' selected>&nbsp;&nbsp;".utf8_encode($registro[1])."</option>";
  21.                                         }
  22.                                         else
  23.                                         {
  24.                                                     echo "<option value='".$registro[0]."'>&nbsp;&nbsp;".utf8_encode($registro[1])."</option>";
  25.                                         }
  26.                                          
  27.                                          
  28.                                     }
  29.                                     echo "</select>";
  30.                                     ?>
  31.                                    
  32.                    
  33.                                    
  34.                                
  35.                             </div>
  36.                         </div>
  37.                        
  38.                         <div class="uk-width-medium-3-10">
  39.                          <div class="uk-margin-small-top">
  40.                             <label for="product_search_name"><b>ARTICULO :</b></label>
  41.                             <?php
  42.                             $opcion="NO";
  43.                             if ($tipocliente <> $opcion)
  44.                             {
  45.                               echo "<input type='text'  name='articulos' id='articulos' onKeyUp='javascript:this.value=this.value.toUpperCase();' maxlength='10' value=\""; if(isset($_POST['articulos'])) echo $_POST['articulos']; echo "\" >";
  46.                             }
  47.                                 else
  48.                             {
  49.                               echo "<input type='text'  onKeyUp='javascript:this.value=this.value.toUpperCase();' maxlength='10' readonly >";
  50.                             }
  51.                             ?>
  52.                         </div>
  53.                        </div>
  54.                         <div class="uk-width-medium-2-10 uk-text-center">
  55.                             <?php
  56.                             $opcion="NO";
  57.                             if ($tipocliente <> $opcion)
  58.                             {
  59.                               echo "<button type='submit' class='md-btn md-btn-primary uk-margin-small-top' onClick='valida_envia()'>BUSCAR</button>";
  60.                             }
  61.                                 else
  62.                             {
  63.                               echo "<button type='submit' class='md-btn md-btn-primary uk-margin-small-top' onClick='valida_envia()' disabled='disabled'>BUSCAR</button>";
  64.                             }
  65.                             ?>
  66.                            
  67.                             <!--<button type="submit" class="md-btn md-btn-primary uk-margin-small-top" onClick="valida_envia()">BUSCAR</button>  -->
  68.                         </div>
  69.                     </div>
  70.                 </div>
  71.                
  72.  
  73.        
  74.             </form>

despues de la busqueda me da un resultado y ahi hay un boton grabar lo cual me lleva a la pagina 2 que es la que graba, y se redirecciona autamaticamente a la pagina 1 donde quiero q se mantenga el select seleccionado
  #2 (permalink)  
Antiguo 21/03/2016, 16:39
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 8 años, 4 meses
Puntos: 39
Respuesta: Mantener valor de select despues de enviar a otra pagina

Imaginando que en la página 2 (la que graba) lo recibes así:

Código PHP:
Ver original
  1. <?php $select = $_POST['valorSelect']; ?>

Al redireccionar puedes hacer esto:

Código PHP:
Ver original
  1. <?php
  2.  
  3. header("Location: pagina1.php?val=$select");
  4. ?>

Pasando el parametro 'val' mediante get. Ya en tu página 1, lo recibes así.

Código PHP:
Ver original
  1. <select id="selectUno">
  2.  <option value="<?php echo $_GET['val']; ?>"><?php echo $_GET['val']; ?></option>
  3. </select>

Por dar un ejemplo.
  #3 (permalink)  
Antiguo 22/03/2016, 00:13
Avatar de wunderwaffen077  
Fecha de Ingreso: marzo-2014
Mensajes: 45
Antigüedad: 10 años, 1 mes
Puntos: 3
Respuesta: Mantener valor de select despues de enviar a otra pagina

Despues de consultar la pagina2 y retornar a la pagina1.

header("Location: pagina1.php?val=$select");


1. En la pagina1, debe haber una variable declarada para recibir el GET.

-- Si existe un $_GET, tomar ese valor; caso contrario es vacio:

$val = isset($_GET['val'])?$_GET['val']:'';

2. Supongo que los "options" del "select" lo generas con while.

<select id="selectUno">
Código PHP:
while($row mysqli_fetch_array($result)){
       
//Si el valor es igual al codigo traido por el GET, entonces la variable $sel, se llena con "selected"
       //Y esa variable se coloca en el option, para que el valor sea seleccionado.
    
if($val == $row['codigo']){ $sel "selected"; }else{ $sel ""; } 

    echo 
"<option value='".$row['codigo']."' $sel>".$row['valor']."</option>";

</select>



Tan fácil que esta!
=/

Etiquetas: registro, select, sql, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:08.