Foros del Web » Programando para Internet » PHP »

Más de un valor en desplegable select?

Estas en el tema de Más de un valor en desplegable select? en el foro de PHP en Foros del Web. Hola, estoy haciendo una aplicación y me ha surgido una duda. A ver si me podéis ayudar. Tengo un menú desplegable (select) que contruyo dinámicamente ...
  #1 (permalink)  
Antiguo 02/06/2008, 12:19
 
Fecha de Ingreso: abril-2008
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Más de un valor en desplegable select?

Hola, estoy haciendo una aplicación y me ha surgido una duda. A ver si me podéis ayudar.

Tengo un menú desplegable (select) que contruyo dinámicamente con los datos que obtengo de una consulta a la Base de Datos. De valor le pongo el identificador y el texto que muestro es la referencia. Tal que así:
Código:
<OPTION value="<?php echo $row["id"] ?>"><?php echo $row["ref"];?></OPTION>
Esto está dentro de un formulario por lo que lo envio a otra página. Así como lo tengo sólo puedo enviar el id, mientras que a mi me gustaría poder enviar id y ref. Esto es porque en la otra página necesito también la referencia, y desde ella tengo que volver a hacer una consulta con el id para obtener la referencia, teniendo que acceder de nuevo a la BD.

Por eso me gustaría saber si hay alguna forma de poder enviar los dos datos y ahorrarme así una consulta a la BD.

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 02/06/2008, 12:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Más de un valor en desplegable select?

porke no usas... los dos valores en el value="id|ref" ... asi posiblemente quede, ya que posiblemente no se pueda de otro modo.... suerte!

luego usas un split/explode y vuelve a ser util....
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 02/06/2008, 12:36
Avatar de terepaima  
Fecha de Ingreso: junio-2008
Mensajes: 82
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Más de un valor en desplegable select?

Hola

Por que no envias la referencia o el ID segun te convenga en un Hidden File?

De repente no entendi correctamente el problema
  #4 (permalink)  
Antiguo 02/06/2008, 12:48
 
Fecha de Ingreso: abril-2008
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Respuesta: Más de un valor en desplegable select?

Que rapidez! Gracias por contestar tan rápido.

La solución del campo hidden me la había planteado, pero no se como envio el valor dependiendo del campo seleccionado. Yo lo tengo así:

Código PHP:
<SELECT name="nombre_campo" >
    <?php 
    $result
=obtener_lista_inmuebles();
    while(
$rowmysql_fetch_assoc($result)){
    
?>
    <OPTION value="<?php echo $row["id"?>"><?php echo $row["ref"];?></OPTION><?php echo"
    "
;
    };
    
mysql_free_result($result);?>
    </SELECT>
No sé como se añade el campo hidden dependiendo de lo que haya seleccionado.

La otra solución la del split me gusta tambien. Voy a ver si me informo y lo intento.
De todas formas si me comentáis lo del hiddeen pues perfecto, que nunca está de más aprender cosas en este mundillo.

Muchas gracias de nuevo!

Edito: la solución del split me funciona a la mil maravillas. Muchas gracias (de nuevo, jejeje)

Última edición por carbo; 02/06/2008 a las 13:00
  #5 (permalink)  
Antiguo 02/06/2008, 15:14
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 45
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Más de un valor en desplegable select?

Hola Carbo

Antes de la etiqueta de cierre de form </form> pon:

<input type='hidden' name='ref' value='<?php echo $row["ref"]; ?>'>

Tras esto, en el momento del envio del formulario a la otra página, en esta otra página haciendo un $_GET["ref"] o $_POST["ref"] en función de si el method="get" o method="post" obtendrás el valor de ref.

Espero que te sirva.

Un saludo
  #6 (permalink)  
Antiguo 02/06/2008, 15:47
 
Fecha de Ingreso: abril-2008
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Respuesta: Más de un valor en desplegable select?

Hola, bueno eso sí sabía hacerlo (lo de los campos hidden), pero pensaba que si ponía eso al final cogería la última referencia -por lo de que se hace el bucle antes-, no la que se seleccionaba en el desplegable.

Bueno, es que lo acabo de probar y no me funciona así, me pasa un valor en blanco porque ya ha recorrido $row hasta el final y no tiene nada.
  #7 (permalink)  
Antiguo 02/06/2008, 15:59
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia (España)
Mensajes: 45
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Más de un valor en desplegable select?

Hola de nuevo carbo

Llevas toda la razón del mundo. Se me paso. Hay otra solución y esta si que funciona y es menos liosa:

Dentro del option, en el campo value que pones el id pon un link en vez del id:

$id=$row["id"];
$ref=$row["ref"];

<OPTION value="<?php echo "http://www.dominio.com/pagina-donde-va-form.php?id=$id&ref=$ref"; ?>"><?php echo $row["ref"];?></OPTION>


Y en la página donde va el form recuperas ambos datos y no los pierdes.

Ya me comentas.

Un saludo
  #8 (permalink)  
Antiguo 03/06/2008, 08:14
 
Fecha de Ingreso: abril-2008
Mensajes: 15
Antigüedad: 16 años
Puntos: 0
Respuesta: Más de un valor en desplegable select?

Hola josofol. No he podido contestar antes. Al final ya lo tenía hecho con lo del split así que no tengo muchas ganas de toquetearlo todo. Pero he analizado tu solución y esta vez sí que me parece que funcionaría, ya que sí que se enviarían los datos del que se seleccionase.

La verdad a veces hay soluciones fáciles pero que hasta que no las ves no se te ocurren.

Muchas gracias a los tres, josofol, pateketrueke y terepaima por perder un poco de vuestro tiempo conmigo. Así da gusto!
  #9 (permalink)  
Antiguo 03/06/2008, 08:17
Avatar de terepaima  
Fecha de Ingreso: junio-2008
Mensajes: 82
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Más de un valor en desplegable select?

Hola carbo

Hasta en las cosas mas insignificantes uno aprende algo.

Un gusto.
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 22:45.