Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/06/2005, 12:32
Avatar de CNL
CNL
 
Fecha de Ingreso: abril-2002
Ubicación: Barcelona
Mensajes: 897
Antigüedad: 22 años
Puntos: 1
Insertar varios registros en una BD MySQL simultáneamente

Hola a todos.

Desde una página, y mediante un Insert into, inserto registros en una base de datos MySQL. Lo que quiero hacer es insertar varios registros a la vez, diferentes registros. Para ello, quiero que me salga el mismo formulario tantas veces como registros quiera insertar, y que cuando le de la orden, los inserte todos al mismo tiempo.

Para hacer la inserción de un registro, tengo lo siguiente:

Código PHP:
<?
if($Submit)
{
$sql"insert into TABLA (campo1,campo2) values ('$campo1','$campo2')";
mysql_query($sql,$link);
}
?>

<FORM ACTION="pagina.php" METHOD="post">
<INPUT TYPE="TEXT" NAME="campo1">
<INPUT TYPE="TEXT" NAME="campo2">
<BR>
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Insertar">
</TD>
</TR>
</TABLE>
</FORM>
Esto me lo hace perfectamente. ¿Pero si quiero insertar más de 1? He visto un post similar de hace varios años, pero no me ha quedado demasiado claro... he hecho una cosa así:

Código PHP:
<?
for ($n=0$n<=5$n++) 
{
if(
$Submit)
{
$sql"insert into TABLA (campo1,campo2) values ('$campo1[$n]','$campo2[$n]')";
mysql_query($sql,$link);
}
}
?>

<FORM ACTION="pagina.php" METHOD="post">
<INPUT TYPE="TEXT" NAME="campo1[]">
<INPUT TYPE="TEXT" NAME="campo2[]">
<BR>
<INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Insertar">
</TD>
</TR>
</TABLE>
</FORM>
Esto lo que hace es insertar 6 registros, pero sólo 1 lo rellena, con los datos del formulario (que sólo se muestra una vez). ¿Cómo lo hago para que el formulario se muestre 6 veces, e inserte los registros con todos los datos correctamente?

Saludos