Foros del Web » Programando para Internet » PHP »

problema con php y select

Estas en el tema de problema con php y select en el foro de PHP en Foros del Web. Tengo un <select> de la sig.forma: 39.-Servicios que hay en la comunidad:<br> <select name="serv_c" size="9" multiple> <option>Agua Potable</option> <option>Alumbrado Público</option> <option>Pavimentación</option> <option>Mercado</option> <option>Recolección de Basura</option> ...
  #1 (permalink)  
Antiguo 05/02/2004, 14:28
 
Fecha de Ingreso: febrero-2004
Mensajes: 11
Antigüedad: 20 años, 9 meses
Puntos: 0
problema con php y select

Tengo un <select> de la sig.forma:


39.-Servicios que hay en la comunidad:<br>
<select name="serv_c" size="9" multiple>
<option>Agua Potable</option>
<option>Alumbrado Público</option>
<option>Pavimentación</option>
<option>Mercado</option>
<option>Recolección de Basura</option>
<option>Teléfono Público</option>
<option>Correo</option>
<option>Telégrafo</option>
<option>Bibliotecas</option>
</select>
</td>Aqui se reciben los datos y se procesan: en archivo.phtml:
Código PHP:

if (ereg("[0-9]",$id_al)){

 
mysql_query("insert into cviv
  values('$id_al','$num_p','$padre','$madre','$hermanos','$abuelos','$tios','$primos','$otros_v','$sal_fam','$tipo_viv','$sit_viv','$tipo_c','$serv_v','$serv_c')"
,$link);

 
//header("Location:insertar.php");
echo "Datos Recibidos!";}?> 
Al recibir los datos en mysql recibo solo UNA opcion,pero yo necesito que aparescan todas las que el usuario haya seleccionado.ej:correo,telegrafo,bibliotecas.

Directamente con la base si se puede pero no con php,es decir si pongo:

insert into cviv
>values(1,2,3,4,2,2,1,1,0,1,'salario2','concreto', 'propia','mercado,pavimentacion,bibliotecas','agua ,luz');
Si lo inserta en la BD todas las opciones pero con el codigo en archivo.phtml no.

Espero me puedan ayudar
Gracias
PD: Declare los campos serv_v y serv_c como tipo 'SET' en mysql
  #2 (permalink)  
Antiguo 05/02/2004, 14:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Un select multiple como el que usas de HTML .. genera para PHP un array .. así que debes recorrerlo como tal (el array). Y si tu resultado va a parar en un sólo campo de tu BD separado por comas .. puedes concatenarlo desde el array mismo con la función implode()

Código PHP:
$dato=implode(',',$serv_c); 
y el $dato .. a tu BD por tu INSERT ...


PD: Bons .. la encuesta está fuera de lugar .. Así que evita usar el sistema de encuestas para esas cosas. Si tu proposito era destacar tu mensaje .. OK .. pero no por más que lo destaques vas a obtener más respuestas .. (y acertadas)...

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; 05/02/2004 a las 14:47
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 21:35.