Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/07/2015, 21:20
pandora09
 
Fecha de Ingreso: julio-2015
Mensajes: 16
Antigüedad: 9 años, 5 meses
Puntos: 1
Problemas con Insert de id en tabla factura_detalle

Buenas noches,

Estoy creando un sistema de facturación y no consigo registrar el numero de factura en la tabla factura_detalle, dicho proceso lo estoy tratando de hacer con mysql_insert_id pero me presenta los siguientes errores:

-cuando la factura contiene un solo producto recupera el id autoincrement de la tabla factura_datos eficientemente y lo inserta en la tabla factura_detalle.
-cuando agrego dos productos el primero lo inserta con los datos correctos pero el segundo se inserta con nro_fact "0" y no con el id recuperado con el mysql_insert_id
-y por ultimo, cuando agrego tres o mas productos a partir del 3ero no me toma ninguno solo los dos primeros y con el error antes mencionado.

La verdad es que llevo días tratando de dar con la solución pero nada que lo logro, seria de gran ayuda que alguno de ustedes me pudiese orientar a ver en que me estoy equivocando, muchas gracias de antemano.

este es el código del insert (las filas de los productos a facturar se agregan dinamicamente con js)

Código PHP:
Ver original
  1. <?
  2.  include('conexionbd.php');
  3. //Declarando Variables
  4.  $cedula=$_POST['cedula'];
  5.  $fecha=$_POST['fecha'];
  6.  $hora=$_POST['hora'];
  7.  $codigo=$_POST['codigo'];
  8.  $forma_pago=$_POST['forma_p'];
  9.  $total=$_POST['total'];
  10.  $accion=$_POST['accion'];
  11.  $servicio= array();
  12.  $cantidad= array();
  13.  $preciounit= array();
  14.  $totalitem=array();
  15.  
  16. foreach($_POST['servicio'] as $key=>$value)
  17.     $servicio[]= $value;
  18.  
  19. foreach($_POST['cantidad'] as $key=>$value)
  20.     $cantidad[]= $value;
  21.  
  22. foreach($_POST['preciounit'] as $key=>$value)
  23.     $preciounit[]= $value;
  24.  
  25. foreach($_POST['totalitem'] as $key=>$value)
  26.     $totalitem[]= $value;
  27.  
  28.  if ($_POST[Registrar_Factura]) {
  29.  include('conexionbd.php');
  30.  $hora=gmdate('H:i:s', time() - 16200);
  31.  $sql="INSERT INTO factura_datos (cedula,fecha,hora,forma_p,total) VALUES
  32.       ('".$cedula."','".$fecha."','".$hora."','".$forma_pago."','".$total."')";
  33.  $result=mysql_query($sql) or die ("Error en la Conexión a la Tabla Factura_Datos");
  34.  for($i=0; $i<count($servicio); $i++)
  35.             {
  36.  //SELECCIONO EL ULTIMO ID INGRESADO DE LA TABLA FACTURA_DATOS
  37.  $ultimo_id=mysql_insert_id($conexion);
  38.  //INGRESO LOS DATOS EN LA TABLA FACTURA_DETALLE
  39.  $sql1="INSERT INTO factura_detalle (fact_nro,descripcion,cant,precio,sub_t) VALUES
  40.       ('$ultimo_id','".$servicio[$i]."','".$cantidad[$i]."','".$preciounit[$i]."','".$totalitem[$i]."')";
  41.  $resul= mysql_query($sql1)  or die ("Error en la Conexión a la Tabla Factura_Detalle");
  42.            }
  43.  ?><script>alert("Factura Registrada con Exito"); document.location = 'facturacion.php';</script><?
  44.  }
  45.  ?>