Ver Mensaje Individual
  #16 (permalink)  
Antiguo 10/07/2015, 12:14
pandora09
 
Fecha de Ingreso: julio-2015
Mensajes: 16
Antigüedad: 8 años, 10 meses
Puntos: 1
Respuesta: Problemas con Insert de id en tabla factura_detalle

Buenas tardes,

Les cuento que acabo de dar con la solución, al parecer el ingresar de primero el ultimo id de la tabla fact datos en la de fact detalle antes de ingresar los arrays me generaba un error. He corregido el código con la ayuda que ustedes me han prestado por lo que les estoy sumamente agradecida.

Este es el script que funciona al 100%

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

Y muchisimas gracias de nuevo a todos ustedes!