Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/06/2011, 06:46
Avatar de Eleazan
Eleazan
 
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 1 mes
Puntos: 326
Respuesta: INSERT INTO varias filas a la vez

Veamos....


El primer "problema" que tienes es el formulario.

Si tu le dices que hay 20 campos con el nombre "agente". Luego... ¿cómo pillas 20 resultados? Se sobreescribirian, y sólo te quedaria el último (o el primero, no sé xD) !

Así pues, el bucle lo podrías hacer así:
Código PHP:
<?php $i  0
do {  
$i ++;?>//Repetir filas en el formulario

<select name="agente<?php echo $i ?>">//Traigo de otra tabla de la DB
        <?php do {  ?>
        <option value="<?php echo $row_agente['id']?>" ><?php echo $row_agente['nombre']?></option>
        <?php } while ($row_agente mysql_fetch_assoc($agente)); ?>
</select>

<select name="turno<?php echo $i ?>">
        <option value="mañana" >mañana</option>
        <option value="tarde" >tarde</option>
        <option value="noche" >noche</option>

</select>
<?php } while ($i 20); ?>//FIN Repetir filas en el formulario
Así, por ejemplo, tendrías 20 registros, nombrados desde agente1 agente2 agente3... etc, hasta agente20.

A la hora de recoger las variables, sería con $_POST['agente1'] o $_POST['agente5'] etc.... y cada uno con su $_POST['turno1'] o $_POST['turno5'].

Así pues, tienes dos posibilidades:
·Hacer un query por insercion:
Código PHP:
$i 0;
do {
    
$i++;
    
$turno $_POST['turno'.$i];
    
$agente $_POST['agente'.$i];
    
mysql_query("INSERT INTO horarios (turno, agente) VALUES ('$turno','$agente')");
    } while( 
$i 20); 
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
· Hacer un query con todas las inserciones
Código PHP:
$i 0;
$value '';
do {
   
$i++;
   
$turno $_POST['turno'.$i];
   
$agente $_POST['agente'.$i];
   if(
$value == '')  $value "VALUES('$turno','$agente')";
   else 
$value .= "VALUES('$turno','$agente')";
   } while(
$i 20);
mysql_query("INSERT INTO horarios (turno, agente) ".$value); 

Cada línea de código tiene su propósito (y lo estoy haciendo de cabeza, asiq puede q tb su fallo!). Si no entiendes alguna cosa, piénsa pq está así, y si no se te ocurre el pq hago esto así o asá, pregunta! Si veo la pregunta, te contestaré!

PD: Pero, sobretodo, ten en cuenta que esto no es para que copies&pegues, es para que veas cómo se puede solucionar, hay 1000 formas de hacer las cosas ^^