Si armaste bien el formulario (que cada campo tenga un nombre terminado en un par de corchetes de modo que PHP pueda armar el array), lo que debes hacer es recorrer el
array de POST (o en todo caso de
REQUEST) y obtener el índice, para poder recorrer todos los campos:
Código PHP:
foreach($_POST['nombre'] as $idx=>$nombre)
{
if(!empty($_POST['nombre'][$idx]) && !empty($_POST['apellido'][$idx]) && !empty($_POST['edad'][$idx]) && !empty($_POST['otro_dato'][$idx]))
{
$sql="INSERT INTO tuTabla (nombre, apellido, edad, otro_dato) VALUES ('".$_POST['nombre'][$idx]."', '".$_POST['apellido'][$idx]."', ".$_POST['edad'][$idx].", '".$_POST['otro_dato'][$idx]."');";
if(mysql_query($sql))
{
echo "ok $idx";
}
else
{
echo "error $idx";
}
}
else
{
echo "error: para el elemento $idx";
}
}
En teoría eso debería funcionar (supongo que PHP genera siempre índices numéricos comenzados en cero para los campos con nombre terminado en corchetes, y que todos irán siendo "correlativos" de modo que coincidan siempre), aunque para más seguridad, quizás antes de hacer eso haría un
var_dump de prueba del
array POST. El tipo de campos al que me refiero es algo así:
Código HTML:
<input type="text" name="apellido[]" />
Podrías ir añadiendo más "familias" de campos a tu formulario con javascript de modo que el usuario dé de alta tantos registros como tenga ganas. ¡Suerte!