Foros del Web » Programando para Internet » PHP »

recuperar datos lista menu

Estas en el tema de recuperar datos lista menu en el foro de PHP en Foros del Web. Hola: Hasta ahora para recuperar los datos de una lista menu, al recargar la página por que le falte algíun dato al cliente, utilizo el ...
  #1 (permalink)  
Antiguo 20/10/2008, 22:13
 
Fecha de Ingreso: enero-2008
Mensajes: 303
Antigüedad: 16 años, 9 meses
Puntos: 0
recuperar datos lista menu

Hola:

Hasta ahora para recuperar los datos de una lista menu, al recargar la página por que le falte algíun dato al cliente, utilizo el siguiente código.

<option value='29' <?php if (!(strcmp(29, $_POST['provincia']))) {echo "selected=\"selected\"";} ?>>Málaga</option>

Pero esto genera mucho código por que hay que repetirlo en las 52 provincias.
Sabeís alguna manera de reducirlo.

Gracias
  #2 (permalink)  
Antiguo 20/10/2008, 22:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: recuperar datos lista menu

Usa un for/each, o un while y pon tus datos en un arreglo para irlo ciclando y así comprobar el valor.

Saludos.
  #3 (permalink)  
Antiguo 22/10/2008, 14:47
 
Fecha de Ingreso: octubre-2008
Ubicación: México
Mensajes: 9
Antigüedad: 16 años, 1 mes
Puntos: 0
Mensaje Respuesta: recuperar datos lista menu

Otra técnica que a mi en lo personal no me gusta pero que es extremadamente eficiente es repetir el valor. Es decir, antes de llenar tu comboBox, el primer valor que le agregas es el que va a ir seleccionado. Ejemplo:

Código PHP:
$valor_numerico_seleccionado 29;
$valor_texto_seleccionado 'Málaga';

$str "<select>";
$str .= <option value={$valor_numerico_seleccionado}  selected="selected\">{$valor_texto_seleccionado}</option>";
//Aquí iría el ciclo para ir llenando el comboBox
$str .= "<option> ... </option>
//Termina ciclo
$str .= "
</select>";

echo $str; 
Así no haces ninguna comparación aunque tienes la desventaja de que se repite un valor.

Salut.
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 21:44.