Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/12/2009, 09:08
Avatar de dggluz
dggluz
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: insertar multiples registros

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!