Foros del Web » Programando para Internet » PHP »

Recoger datos de un select

Estas en el tema de Recoger datos de un select en el foro de PHP en Foros del Web. Hola, Estoy trabajando con unas listas (select) con elementos intercambiables, tras conseguir esto con html y JS ahora estoy en la parte de recoger los ...
  #1 (permalink)  
Antiguo 02/08/2008, 10:53
 
Fecha de Ingreso: diciembre-2006
Mensajes: 82
Antigüedad: 17 años, 4 meses
Puntos: 0
Recoger datos de un select

Hola,
Estoy trabajando con unas listas (select) con elementos intercambiables, tras conseguir esto con html y JS ahora estoy en la parte de recoger los datos con PHP pero no lo consigo.
Yo tengo un select llamado selectDestino, el cual obtengo mediante el $_POST:
$selectDestino=$_POST["selectDestino"].
Pero una vez estoy ahí no se como recorrer todas las opciones (no han de estar seleccionadas ni nada de eso...). Lo que necesito es saber todos los values de todas las opciones existentes en el selectDestino.

Gracias, Dani!
PD: No obstante me da la impresión de que si no están seleccionadas no puedo acceder a las opciones, ya que cuando pulso enviar para pasar a la siguiente pagina solo lo hago si tengo alguno seleccionado (y esta el post no vacio)

Última edición por Garga_Dan; 02/08/2008 a las 11:00
  #2 (permalink)  
Antiguo 02/08/2008, 11:25
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Recoger datos de un select

Del select solo recibiras los elementos seleccionados (varios si es un select multiple).
si quieres recibir todos los datos del select, añade un campo oculto y en el value añades las opciones del select (que posiblemente los tengas en un array) y haces un serialize() luego con el $_POST["nombrecampooculto"] haces unserialize() creo que con eso puede servirte

saludos
  #3 (permalink)  
Antiguo 02/08/2008, 12:01
 
Fecha de Ingreso: diciembre-2006
Mensajes: 82
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: Recoger datos de un select

Hola Doobie,
Lo primero gracias por la respuesta y su rapidez. Aun asi me quedan algunas dudas:
Inicialmente yo cojo los datos de una BD y los pongo en un select Origen, el usuario va moviendolos a un select Destino y lo que necesito es obtener todas las opciones que finalmente ha dejado el usuario en el select Destino.
¿Como hago para obtener estos datos una vez el usr ha pulsado enviar?
Se me ocurre esto pero supongo que habrá algo más sencillo:
1-LLamar a una función JS cuando el usuario pulse enviar
2-Esta funcion tendra que recorrer las opciones del select (todas, no solo la/s seleccionadas) y las metera en un array
3-Paso el array JS a un array PHP y lo serializo

Me puedes indicar algún ejemplo de serialización para mi caso?
Gracais, Dani
  #4 (permalink)  
Antiguo 02/08/2008, 12:26
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Recoger datos de un select

esto es mas de javascript que de php, pero bueno.
supongo que cuando dices que los pasas de un select a otro, lo haces con algun codigo javascript, si es asi, lo mas facil seria que cada vez que pases un dato de un select al otro, añadas al value de un campo oculto el select pasado. Los separas por comas por ejemplo, o algun caracter que sepas que te sirva de separador, y luego en tu script php haces un explode() de ese campo oculto.

el serialize() no lo sabria implementar desde javascript para luego poder hacer un unserialize() desde php y que cuadren los datos.
  #5 (permalink)  
Antiguo 02/08/2008, 13:08
 
Fecha de Ingreso: diciembre-2006
Mensajes: 82
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: Recoger datos de un select

Hola Doobie,
Haber si he entendido bien, el sistema permite pasar los elementos de un select a otro y viceversa, es decir, que puedo meter un elemento en un select (y anotar este en el string que me has comentado que construya), y luego volver a meter ese elemento en el otro select (y tener que desanotar ese elemento de dicho string).
¿Sabes como puedo hacer el proceso de anotar y desanotar en el string? (lo de anotar es escribir en una cadena, pero lo de desanotar se me hace más complejo)
Gracias
  #6 (permalink)  
Antiguo 02/08/2008, 16:11
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Recoger datos de un select

Cita:
Iniciado por Garga_Dan Ver Mensaje
Hola Doobie,
Haber si he entendido bien, el sistema permite pasar los elementos de un select a otro y viceversa, es decir, que puedo meter un elemento en un select (y anotar este en el string que me has comentado que construya), y luego volver a meter ese elemento en el otro select (y tener que desanotar ese elemento de dicho string).
¿Sabes como puedo hacer el proceso de anotar y desanotar en el string? (lo de anotar es escribir en una cadena, pero lo de desanotar se me hace más complejo)
Gracias
para eso, mejor remitete al foro de javascript, que de eso estoy un poco pez.
se me ocurre algo como ir poniendolos en un array haciendo push/pop y una vez hecho el submit, convertir ese array a una cadena separados por comas (o similar) y meterlo en un campo oculto, para despues manipularlo desde php

pero ya digo, que mejor preguntes aqui
  #7 (permalink)  
Antiguo 03/08/2008, 09:40
 
Fecha de Ingreso: diciembre-2006
Mensajes: 82
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: Recoger datos de un select

Ok Doobie, muchas gracias!
¿Algun moderador podría cambiar este mensaje al foro de JS?
Gracias
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 04:49.