Foros del Web » Programando para Internet » PHP »

PHP OO Mantener seleccionado el valor en select

Estas en el tema de Mantener seleccionado el valor en select en el foro de PHP en Foros del Web. Hola: Tengo en mi pagina un select, quiero que al presionar el boton se quede seleccionado el valor que el usuario eligio Con esto lleno ...
  #1 (permalink)  
Antiguo 04/06/2014, 10:02
alexisnarmz
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Mantener seleccionado el valor en select

Hola:

Tengo en mi pagina un select, quiero que al presionar el boton se quede seleccionado el valor que el usuario eligio

Con esto lleno el combo
//consulta para llenar el combo
$combo=mysql_query("select * from clientes where `num-cuenta` = '".$cuenta."' ORDER BY `clientes`.`per-consumo` DESC ",$conexion);

// Combo
<select name="cbperiodo" id="cbperiodo">
<?php

while($a=mysql_fetch_array($combo))
{
echo"<option value=".$a['per-consumo'].">".$a['per-consumo']."</option>";
}
?>

Al dar clic ejecuta una consulta que le muestra informacion en la misma pagina al usuario pero no se mantiene seleccionado el elemento en el combo no se como hacerlo. Si alguien me puede ayudar por favor
  #2 (permalink)  
Antiguo 04/06/2014, 11:38
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 16 años, 1 mes
Puntos: 36
Respuesta: Mantener seleccionado el valor en select

A ver si te podemos ayudar:

1ro dices: "Al dar clic ejecuta una consulta que le muestra informacion en la misma pagina...."

Donde das el clic? y cual es la consulta?
Como muestras la informacion, refrescando la pagina o utilizando ajax.

Mejor nos pones todo el codigo, porque asi con la imaginacion sera muy dificil ayudarte.
  #3 (permalink)  
Antiguo 04/06/2014, 11:49
alexisnarmz
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mantener seleccionado el valor en select

Refresca la pagina con un submit
Estas son las consultas
Código PHP:
Ver original
  1. //Consultas sql para el recibo
  2. $datousuario=mysql_query("select * from clientes where `num-cuenta` = '".$cuenta."' and `per-consumo` =".$_POST['cbperiodo']);
  3. $datofactura=mysql_query("select * from clientes where `num-cuenta` = '".$cuenta."' and `per-consumo` =".$_POST['cbperiodo']);

Código HTML:
Ver original
  1. <input type="submit" name="btnconsultar" value="Consultar" id="btnconsultar">

y asi muestra la informacion
Código PHP:
Ver original
  1. <?php
  2. while($a=mysql_fetch_array($datousuario)){
  3. //datos de la primera consulta para el recibo
  4. echo"
  5. <label> Cuenta: ".$a['num-cuenta']." </label>
  6.  
  7. <br>
  8. <label> Nombre: ".$a['nombre-completo']." </label> ?>
  #4 (permalink)  
Antiguo 04/06/2014, 12:21
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 16 años, 1 mes
Puntos: 36
Respuesta: Mantener seleccionado el valor en select

Cuando tu refrescas las paginas, los objetos (listas, cajas texto, etc) pierden el valor seleccionado excepto si guardas en alguna variable el valor que habia selecionado y despues se lo pasas a la lista para que quede seleccionado el valor anterior.

Toma el valor de la lista y guardalo en una variable POST o GET y despues pasasela a la lista para que esta quede seleccionada

Código PHP:
Ver original
  1. <select name="cbperiodo" id="cbperiodo">
  2. <?php
  3.  
  4. while($a=mysql_fetch_array($combo))
  5. {
  6.         echo "<option value='" .$a['per-consumo'] ."'";
  7.         if (!(strcmp($a['per-consumo'], $_POST['valor_lista']))) { echo "selected=\'selected\'"; }
  8.         echo ">" .$a['per-consumo'] ."</option>";
  9. }
  10. ?>

Fijate que uso la variable " $_POST['valor_lista'] " para ahi almacenar el valor del elemento seleccionado de la lista.

Cualquier duda tira pa' ca'
  #5 (permalink)  
Antiguo 04/06/2014, 12:22
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 16 años, 1 mes
Puntos: 36
Respuesta: Mantener seleccionado el valor en select

Cuando tu refrescas las paginas, los objetos (listas, cajas texto, etc) pierden el valor seleccionado excepto si guardas en alguna variable el valor que habia selecionado y despues se lo pasas a la lista para que quede seleccionado el valor anterior.

Toma el valor de la lista y guardalo en una variable POST o GET y despues pasasela a la lista para que esta quede seleccionada
Te dejo un ejemplo aplicado a tu propia lista


Código PHP:
Ver original
  1. <select name="cbperiodo" id="cbperiodo">
  2. <?php
  3.  
  4. while($a=mysql_fetch_array($combo))
  5. {
  6.         echo "<option value='" .$a['per-consumo'] ."'";
  7.         if (!(strcmp($a['per-consumo'], $_POST['valor_lista']))) { echo "selected=\'selected\'"; }
  8.         echo ">" .$a['per-consumo'] ."</option>";
  9. }
  10. ?>

Fijate que uso la variable " $_POST['valor_lista'] " para ahi almacenar el valor del elemento seleccionado de la lista.

Cualquier duda tira pa' ca'
  #6 (permalink)  
Antiguo 04/06/2014, 12:29
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 16 años, 1 mes
Puntos: 36
Respuesta: Mantener seleccionado el valor en select

Ah, fijate en esto? estas usando:

Código PHP:
Ver original
  1. echo"<option value=".$a['per-consumo'].">".$a['per-consumo']."</option>";

le estas asignando los mismos valores al value y al label.
  #7 (permalink)  
Antiguo 04/06/2014, 13:18
alexisnarmz
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Mantener seleccionado el valor en select

si lo que pasa que es una tabla llamada cliente tiene los campos Id_Cliente, num-cuenta y per-consumo que se maneja asi: 201405, saldo

entonces en el combo tengo que value agarre ese valor y en el label pues porque es como esta el periodo, y me los muestra y los consulta, este es el codigo de la pagina:

Código PHP:
Ver original
  1. //consulta para llenar el combo
  2. $combo=mysql_query("select * from clientes where `num-cuenta` = '".$cuenta."' ORDER BY  `clientes`.`per-consumo` DESC ",$conexion);
  3.  
  4. //Consultas sql para el recibo
  5. $datousuario=mysql_query("select * from clientes where `num-cuenta` = '".$cuenta."' and `per-consumo` =".$_POST['cbperiodo']);
  6. $datofactura=mysql_query("select * from clientes where `num-cuenta` = '".$cuenta."' and `per-consumo` =".$_POST['cbperiodo']);
  7. $datosaldo=mysql_query("select * from saldo where `num-cuenta` = '".$cuenta."'",$conexion);
  8. $saldo=mysql_query("select * from saldo where `num-cuenta` = '".$cuenta."'",$conexion);

Código HTML:
Ver original
  1. <form name="form1" method="post" id="form1" enctype="multipart/form-data"  >  
  2. <div name="encabezado" align="center" style="position:absolute; width:250px; left: 146px; top: 8px;">
  3.  
  4.  <label for="cbperiodo">Periodo</label>
  5. <select name="cbperiodo" id="cbperiodo" onChange="cargar()">
  6. <input type="submit" name="btnconsultar" value="Consultar" id="btnconsultar">
  7. <?php
  8.  
  9. while($a=mysql_fetch_array($combo))
  10. {
  11.    
  12. echo "<option value='" .$a["per-consumo"]. "' >" .$a["per-consumo"]. "</option>";
  13.  
  14. }
  15. mysql_free_result ($combo);
  16. ?>
  17.  

Código HTML:
Ver original
  1. <div align= "center" style="position:absolute; width:262px">
  2.  
  3. <input type="text" name="textfield" id="textfield" value="DATOS DE USUARIO" readonly="" style="border:2px solid green; background-color:white; color:black;text-align:center">
  4.     <br>
  5. <div name="textarea" align="left" wrap="soft" class="botonbuscar" style="width:250px" id="textarea" >
  6. <br>
  7. <?php
  8. while($a=mysql_fetch_array($datousuario)){
  9. //datos de la primera consulta para el recibo
  10. echo"
  11. <label> Cuenta: ".$a['num-cuenta']." </label>
  12.  
  13. <br>
  14. <label> Nombre: ".$a['nombre-completo']." </label>
  15. <br>
  16. <label> Domicilio: ".$a['direcc-completa']." </label>
  17. <br>
  18.  
  19. <label> RFC: ".$a['RFC']." </label>
  20. <br>
  21. <label> Giro: ".$a['giro-usuario']." </label>";
  22. }
  23. ?>
  24. </div>
  25. </div>

Etiquetas: combo, elemento, formulario, select, selected, selectedindex, selectedvalue, submit, 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 14:17.