Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/01/2012, 11:22
Avatar de kimmy
kimmy
 
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Guardar varios array de un form en mysql

Gracias bUllan9ebrio. Cada array se guarda en las variables del Request y en esta parte:

Código PHP:
Ver original
  1. while($result = mysql_fetch_array($rs2))
  2.     {
  3.         $id_nomina = $result['id_nomina'];
  4.     }

Rescato el id_nomina para la otra tabla ya que el mismo se genera en autonumerico.

Según tus sugerencias lo hice asi:

Código PHP:
Ver original
  1. $ruta = '..';
  2. include ('../func/func.php');
  3. $conn = db_connect();
  4.   if (!$conn)
  5.    return 0;
  6.  
  7. $fecha_carga = date("Y-m-d:H:i:s");
  8.  
  9. extract($_REQUEST);
  10.  
  11. //var_dump($ci);
  12.  
  13. $rs = mysql_query("SELECT * FROM empleados WHERE id_empleado='$id_empleado'");
  14. while($result = mysql_fetch_array($rs)) {
  15.     $ci = $result['ci'];
  16.     $pnombre = $result['pnombre'];
  17.     $snombre = $result['snombre'];
  18.     $papellido = $result['papellido'];
  19.     $sapellido = $result['sapellido'];
  20. }
  21.  
  22. $sql_ins = mysql_query("INSERT INTO nomina (fecha_carga, desde, hasta, total) VALUES ('$fecha_carga','$desde', '$hasta', '$total')") or die ("Error en Insert : ".mysql_error());
  23.  
  24.     $rs2 = mysql_query("SELECT id_nomina FROM nomina WHERE fecha_carga='$fecha_carga'");
  25.     //Esta parte no  la veo de una buena manera :-/
  26.     while($result = mysql_fetch_array($rs2))
  27.     {
  28.         $id_nomina = $result['id_nomina'];
  29.     }
  30.  
  31. for ($i=0;$i<=3;$i++)
  32. {
  33.         $sql_ins2 = mysql_query("INSERT INTO detalle_nomina (id_nomina, id_empleado, dias, sueldo_quinc, ivss, paro_for, lph, otros_desc, otros_ing, total_deducc, total_deveng) VALUES ('$id_nomina', '$id_empleado[$i]', '$dias[$i]', '$sueldo_quinc[$i]', '$ivss[$i]', '$paro_for[$i]', '$lph[$i]', '$otros_desc[$i]', '$otros_ing[$i]', '$total_deducc[$i]', '$total_deveng[$i]')") or die ( "Error MySQL dice: " . mysql_error() );
  34.     }
  35.  

pero me guarda solo los datos de una sola fila y no de la segunda y tercera.

además me da este error:

Error MySQL dice: Duplicate entry '4' for key 1
__________________
Caminando con el corazón partío

Última edición por kimmy; 20/01/2012 a las 13:14