Foros del Web » Programando para Internet » PHP »

Select multiples - arrays-

Estas en el tema de Select multiples - arrays- en el foro de PHP en Foros del Web. he creado un formulario en el que tengo un select multiple de este tipo: <select name="partners[]" size="5" multiple> <option value="1">option 1</option> <option value="2" selected>option 2</option> ...
  #1 (permalink)  
Antiguo 30/05/2005, 09:29
 
Fecha de Ingreso: febrero-2005
Mensajes: 22
Antigüedad: 19 años, 2 meses
Puntos: 0
Select multiples - arrays-

he creado un formulario en el que tengo un select multiple de este tipo:

<select name="partners[]" size="5" multiple>
<option value="1">option 1</option>
<option value="2" selected>option 2</option>
<option value="3">option 3</option>

El problema es que intento que estos datos suban correctamente al servidor pero solo consigo que ponga en el campo de la base de datos Array y no los datos enviados.

La seleccion multiple he comprobado que funcionara con la sentencia:

<?
foreach ($_POST['partners'] as $indice => $valor){
echo "indice: ".$indice." => ".$valor."<br>";
}
?>

y funciona correctamente.

¿que faltaria poner al archivo php que sube los datos para funcione correctamente?
  #2 (permalink)  
Antiguo 30/05/2005, 09:43
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Y el insert lo estas haciendo dentro del foreach?
Quedaria algo asi:
foreach ($_POST['partners'] as $item){
mysql_query("insert tabla (campo) value ('".$item"')" );
}
Igual, no comprendo por que usas un indice y valor en el foreach. Otra cosa, yo no haría un foreach directamente sobre el elemento, y menos con un sql dentro, al menos haría algo como:
$dato= isset($_POST['partners']) ? $_POST['partners'] : '';
if(is_array($dato)){
foreach ($dato as $item){
mysql_query("insert tabla (campo) value ('".$item"')" );
}
}
__________________
Mi punto de partida es Que Bueno Lo Nuevo
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 09:08.