Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/08/2008, 04:30
Garga_Dan
 
Fecha de Ingreso: diciembre-2006
Mensajes: 82
Antigüedad: 17 años, 5 meses
Puntos: 0
Paso de valores de un select

Hola a todos, inicialmente empezamos este tema en el foro de PHP pero hemos visto que se ha convertido más en algo de JS

A:
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.

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)
--------------------------------------------------------------------------------

B:
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
--------------------------------------------------------------------------------
A:
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
--------------------------------------------------------------------------------

B:
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.
--------------------------------------------------------------------------------

A:
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)
--------------------------------------------------------------------------------

B:
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