Foros del Web » Programando para Internet » PHP »

array de menu multiple

Estas en el tema de array de menu multiple en el foro de PHP en Foros del Web. Amigos: LEs quería hacer esta pregunta: Tengo un menu de opciones multiples en una pagina A, con un boton que lleva a otra pagina donde ...
  #1 (permalink)  
Antiguo 14/04/2004, 16:02
 
Fecha de Ingreso: octubre-2003
Mensajes: 304
Antigüedad: 20 años, 5 meses
Puntos: 0
array de menu multiple

Amigos:
LEs quería hacer esta pregunta:

Tengo un menu de opciones multiples en una pagina A, con un boton que lleva a otra pagina donde hacemos una operacion determinada y luego volvemos a la pagina A. El tema es que cuando volvemos a la pagina A, este menu multiple debería marcar como SELECCIONADAS las opciones que hize antes de cambiar de pagina.

Esto lo logro enviando las variables hacia la pagina B y luego devolviendolas a la pagina A. Hasta aca esta todo bien, lo que me sucede es que cuando vulevo a la pagina A, me carga SOLO UNA de las multiples opciones que realizé. Esto es porque deberia hacer un array que vaya y venga de pagina. Y eso es lo que no puedo descifrar, no se como declarar un array en un caso como este.

El metodo de envio y recepcion de una pagina a otra es POST:

<select name="variable" size="5" multiple>

echo'<option value="'.$_POST["variable"].'" selected>'.$_POST["variable"].'</option>';

bajo esto sigue el menu sin "selected"...

Desde ya muchas gracias!!!!!
  #2 (permalink)  
Antiguo 15/04/2004, 01:55
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Debes llamar al campo en "formato" array:

<select name="variable[]" size="5" multiple>

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 15/04/2004, 16:44
 
Fecha de Ingreso: octubre-2003
Mensajes: 304
Antigüedad: 20 años, 5 meses
Puntos: 0
Josemi, gracias por responderme, te hago otra pregunta:

Una vez que envié el array a la pagina B y la pagina B me la devolvio a la pagina A, como hago para que se me agregue dentro del menu multiple un campo seleccionado por cada componente del array?
tengo una idea muy superficial, y es esta: tendria que dar una instruccion foreach y que cada parte de la variable pase a ser un <option selected>
dentro del
<select name="variable[]" size="5" multiple>

probe con:

<select name="variable[]" size="5" multiple>
foreach(variable[]){
echo'<option value="'.$variable[] selected>'.$variable[]</option>';};

pero no funciona...
  #4 (permalink)  
Antiguo 16/04/2004, 06:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Nó sé el método que devuelves ese array .. pero si fuese POST sería algo así:

Código PHP:
<select name="variable[]" size="5" multiple>
foreach(
$_POST['variable'] as $valor){
echo
'<option value="'.$valor.'>'.$valor</option>;
};
</
select
Si quieres pre-definir uno de esos valores para que quede seleccionado .. debes emplear el "selected" solo en el caso(s) que sean iguales los items a representar con los que se seleccionaro (veo que usas un select multiple) .. así que por algún sitio te hace falta obtener tus valores (todos) los de esas opciones para luego ir comparando UNO-UNO (IF (son iguales)) para poner el "selected" a ese elemento .. y si no es igual .. no usar el "selected" pues no se seleccionó.

Recuerda que si bien se define en el formulario el array como "nombre[]" para que se cree con indices numéricos automáticos (a cada llamada de este se crea un nuevo elemento en el array) .. En PHP recibieras una $variable normal y corriente pero de tipo Array la cual puedes recorrer (leer) con un bulcle foreach() según su sintax de uso:

www.php.net/foreach

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 16/04/2004 a las 06:09
  #5 (permalink)  
Antiguo 16/04/2004, 16:53
 
Fecha de Ingreso: octubre-2003
Mensajes: 304
Antigüedad: 20 años, 5 meses
Puntos: 0
Te queria hacer una pregunta mas sobre este tema...
resulta que envio las selecciones de mi menu multiple, a la pagina B, llegan como un array y probe con el bucle FOREACH y las imprime en pantalla, luego para devolverlas a la pagina A utilizo un campo oculto, las recojo con $_POST, pero me pone el cartel "Array"... probe varias maneras de hacer el campo oculto, el recorrido de las variables seria el siguiente:

1-Elijo las partes del menu y las envio a la pagina B con POST:
------------------------------------------------------------------------------
echo'<select name="variable[]" size="5" multiple>';

2-Vuelvo a enviar el array hacia la pagina A con POST por medio de un campo oculto(opcion 1):
------------------------------------------------------------------------------
echo'<input name="variable[]" type="hidden" value="'.$_POST["variable"].'">'; //aca me aparece el cartel Array cuando las recibo en A

3-Vuelvo a enviar el array hacia la pagina A con POST por medio de un campo oculto(opcion 2):
------------------------------------------------------------------------------
echo'<input name="variable" type="hidden" value="'.$_POST["variable"].'">';

//aca me aparece que no es un array por eso la orden foreach no funciona cuando las recibo en A

4-El script con el que recibo la variable nuevamente en A es:
-----------------------------------------------------------------------------
echo'<select name="variable[]" size="5" multiple>';
foreach($_POST[variable] as $valor)
{echo'<option value="'.$valor.'" selected>'.$valor.'</option>';};
echo'</select> ';

5- El script con el que recibo las variables en la pagina B (antes de enviarlas de nuevo a A
-----------------------------------------------------------------------------
foreach($variableas $valor){echo''.$valor.'<br>';};
(funciona correctamente, lo probe tambien en A pero me sigue
dando el cartel de "Array"...

¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿QUE PUEDO HACEEEERRR, porque es tan dificil la parte de arrayyyssss????
  #6 (permalink)  
Antiguo 17/04/2004, 09:25
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
http://www.forosdelweb.com/showthrea...072#post262072 pero en lugar de URL en un campo oculto.

Y los arrays en PHP son faciles. Pero los arrays en HTML son dificiles.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 13:43.