Foros del Web » Programando para Internet » PHP »

Como se mantiene el valor de un select

Estas en el tema de Como se mantiene el valor de un select en el foro de PHP en Foros del Web. hola me estaba preguntando como podria mantener el valor de un select de esta manera: si el select se usa en una busqueda y esta ...
  #1 (permalink)  
Antiguo 25/11/2010, 16:19
 
Fecha de Ingreso: octubre-2010
Mensajes: 25
Antigüedad: 14 años, 1 mes
Puntos: 0
Como se mantiene el valor de un select

hola me estaba preguntando como podria mantener el valor de un select de esta manera:

si el select se usa en una busqueda y esta lleno de datos de una tabla mysql y se estan mostrando atraves de un script php bueno una vez que se hace la busqueda y se le da submit al formulario de dicho valor en el select se hace la consulta pero a la pagina que me lleva recarga el select dejandolo con el primer valor de la lista de datos de la tabla mysql lo que yo quiero esq al darle submit en la pagina de la consulta quede el valor seleccionado en el select

alguna idea ejemplo o modo de hacerlo?????
  #2 (permalink)  
Antiguo 25/11/2010, 16:25
Avatar de Snaft_J1  
Fecha de Ingreso: diciembre-2006
Mensajes: 285
Antigüedad: 17 años, 11 meses
Puntos: 8
Respuesta: Como se mantiene el valor de un select

claro, un modo simple ustilizando variables de seccion.

o mejor aun utiliza el aporte de GatorV http://www.forosdelweb.com/f18/aport...anzado-595026/

o las variables del metodo de envio que estes utilizando para restaurar el valor nuevamanete
igual alli puedes ver como lo hace el.

espero haberte comprendido.

saludos.
__________________
-= El conocimiento y el saber te hacen un ser libre =-
Ando en busca de conocimiento....
  #3 (permalink)  
Antiguo 25/11/2010, 16:31
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 9 meses
Puntos: 4
Respuesta: Como se mantiene el valor de un select

Yo hago algo como esto, en mi formulario de búsqueda tengo dos campos, categoría (donde uso el control <select>) y un campo para que ingresen la palabra a buscar pues bien, los datos se envían por $_GET, entonces para llenar nuevamente el select y que permanezca seleccionada la opción que se eligió al hacer la búsqueda haces algo como esto:

Código PHP:
<?php
    $categoria 
$_GET['categoria'];
?>
<select name="categoria">
<?php
    $sql 
mysql_query("SELECT * FROM categorias ORDER BY idcat ASC");
    while(
$row mysql_fetch_array($sql)) {
        
$cat $row['categoria'];
?>
    <option value="<?=$cat?><?php if($cat == $categoria) echo "selected"?>><?=$cat?></option>
<?php
    
}
?>
</select>
Como te darás cuenta dentro del <option> comparamos que el valor recibido del formulario sea igual a una de las opciones que contenga ese select, si la encuentra quedará seleccionada (selected).

Espero que eso te sirva.

Saludos.
  #4 (permalink)  
Antiguo 25/11/2010, 16:36
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: Como se mantiene el valor de un select

Saludos

Snaft_J1
Cita:
claro, un modo simple ustilizando variables de seccion.
Son variables de sesion y no de seccion jeje

y si es verdad es muy útil manejar variables de sesion

Algo de este estilo por ejemplo

Código PHP:
Ver original
  1. //Despues del evento submit
  2. if ( !empty( $_POST['select']  ) )
  3.     {
  4.         $_SESSION['select'] = $_POST['select'];
  5.     }

Luego en tu combo comparas el valor de la columna de la consulta con el valor de la sesion
Código PHP:
Ver original
  1. $selected="";
  2. if($valorSelect==$_SESSION['select'] ){
  3. $selected="selected";
  4. }
  5.  
  6. //en el select
  7.  
  8. echo "<option value='$valorSelect' $selected >Prueba</option>

Algo de este estilo

Hasta Pronto
__________________
:.:Nano.:: @nano_hard - Retornando al foro

Etiquetas: select
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 12:12.