Foros del Web » Programando para Internet » PHP »

Guardar en Select Multiple

Estas en el tema de Guardar en Select Multiple en el foro de PHP en Foros del Web. Buenas, Hoy tengo una pregunta un poco rara.. Tengo un formulario en un php que tiene un campo de lista que admite multiples selecciones... He ...
  #1 (permalink)  
Antiguo 17/08/2004, 11:11
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 14 años, 5 meses
Puntos: 0
Guardar en Select Multiple

Buenas,

Hoy tengo una pregunta un poco rara..

Tengo un formulario en un php que tiene un campo de lista que admite multiples selecciones...

He conseguido que introduzca lo seleccionado en la bdd y funciona bien, ahora no sé como sacarlo de la base de datos y hacer el proceso inverso (volverlo a meter un seleccionable).

Una manera que he pensado es al introducirlo en la bdd separar las opciones escogidas con un "+" y luego cuando quiero volver a pasarlo hacer un explode, pero creo que me he liado...

Código:
	<? 
	$Array_Estados=explode("+",$Inmueble[Estado]);
	foreach($Array_Estados as $key)
	{ 
	
		 if (($key == "") && ($op1!="si"))				  	 $op1="si"; 			
		 if (($key == "EN CONSTRUCCION") && ($op2!="si")) 	 $op2="si"; 
		 if (($key == "NUEVO") && ($op3!="si")) 		   	 $op3="si"; 		
		 if (($key == "SEGUNDA MANO") && ($op4!="si")) 	  	 $op4="si"; 
		 if (($key == "LISTO PARA OCUPAR") && ($op5!="si"))	 $op5="si";
    	 if (($key == "REFORMADO") && ($op6!="si"))			 $op6="si";		
		 if (($key == "PARA REFORMAR") && ($op7!="si")) 	 $op7="si";		
		 if (($key == "BAÑOS REFORMADOS") && ($op8!="si")) 	 $op8="si"; 
		
	} 
	?>
	
	<select name="Estado[]" size="1" multiple>
	<? if ($op1 == "") { ?><option name="" value="" selected>SELECCIONE ...</option><? } ?>
	<? if ($op1 != "") { ?><option name="" value="">SELECCIONE ...</option><? } ?>
	
	<? if ($op2 == "") { ?><option name="EN CONSTRUCCION" selected>EN CONSTRUCCI&Oacute;N</option><? } ?>
	<? if ($op2 != "") { ?><option name="EN CONSTRUCCION">EN CONSTRUCCI&Oacute;N</option><? } ?>
	
	<? if ($op3 == "") { ?><option name="NUEVO" selected>NUEVO</option><? } ?>
	<? if ($op3 != "") { ?><option name="NUEVO">NUEVO</option><? } ?>

	<? if ($op4 == "") { ?><option name="SEGUNDA MANO" selected>SEGUNDA MANO</option><? } ?>
	<? if ($op4 != "") { ?><option name="SEGUNDA MANO">SEGUNDA MANO</option><? } ?>
	
	<? if ($op5 == "") { ?><option name="LISTO PARA OCUPAR" selected>LISTO PARA OCUPAR</option><? } ?>
	<? if ($op5 != "") { ?><option name="LISTO PARA OCUPAR">LISTO PARA OCUPAR</option><? } ?>

	<? if ($op6 == "") { ?><option name="REFORMADO" selected>REFORMADO</option><? } ?>
	<? if ($op6 != "") { ?><option name="REFORMADO">REFORMADO</option><? } ?>
	
	<? if ($op7 == "") { ?><option name="PARA REFORMAR" selected>PARA REFORMAR</option><? } ?>
	<? if ($op7 != "") { ?><option name="PARA REFORMAR">PARA REFORMAR</option><? } ?>
	
	<? if ($op8 == "") { ?><option name="BAÑOS REFORMADOS" selected>BA&Ntilde;OS REFORMADOS</option><? } ?>
	<? if ($op8 != "") { ?><option name="BAÑOS REFORMADOS">BA&Ntilde;OS REFORMADOS</option><? } ?>
	</select>
No se si me he sabido explicar...
Me complico mucho con el codigo? Voy bien encaminada?
Podeis ayudarme?
__________________
Ibisof | Saludos desde Eivissa !!! :p
  #2 (permalink)  
Antiguo 18/08/2004, 05:02
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 14 años, 5 meses
Puntos: 0
Me habeis entendido?
__________________
Ibisof | Saludos desde Eivissa !!! :p
  #3 (permalink)  
Antiguo 18/08/2004, 07:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pregunta ..

sabrías resolver el problema desde HTML (o Javascirpt) para pre-seleccionar X valores de tu lista múltiple?

Donde lees las opciones que se seleccionaron y quedaron en tu BD .. (eso lo tienes claro ya?). Es aquí:
$Array_Estados=explode("+",$Inmueble[Estado]);

lo cual implica que los "estados" los guardas en un campo/array(elemento) separados por ese "+" ?

Un saludo,
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 14:43.