Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/12/2011, 17:51
rpichinu
 
Fecha de Ingreso: noviembre-2010
Mensajes: 208
Antigüedad: 13 años, 5 meses
Puntos: 3
Ingresar registros que viene de un arreglo

Que tal amigos:

bueno...resulta que tengo un formulario de venta . el cual contiene los datos de esta:

venta:
1) numero de venta
2) cliente
3)fecha
4)total de la venta


en el mismo formulario también ingreso los detalles de la venta:

detalles de venta:

1)producto
2)cantidad
3)precio unitario
4)subtotal

venta y detalle de venta son 2 tablas...y estan relacionadas..

*) una venta puede tener uno o varios detalles


id de venta es clave foranea en detalle de venta....y la clave primaria de detalle de venta es el item( segun la cantidad de productos...segun el detalle que tenga cada venta)

Resulta que quiero ingresar los registros a la base de datos....
ya tengo el formulario que agrega campos dinámicos según la cantidad de productos que el usuario quiera ingresar.

aca va la pagina donde quiero registrar estos datos.....el detalle de la venta es lo que me complica...maomenos tengo la idea ....un item como contador....e ir recorriendo el arrreglo...bueno esto es lo que tengo.

Código PHP:
<?php
include("lib/conexion.php");

$idventa $_POST['venta'];
$idcliente $_POST['cliente'];
$idsucursal $_POST['sucursal'];
$diaVenta $_POST['diaVenta'];
$mesVenta $_POST['mesVenta'];
$yearVenta $_POST['yearVenta'];

if (!
checkdate($mesVenta$diaVenta$yearVenta)) {
    
header("Location: ".$_SERVER['HTTP_REFERER']);
}
$fechaVenta =  mktime(000$mesVenta$diaVenta$yearVenta);

$array[0] = $_POST['producto'];
$array[1] = $_POST['cantidadDet'];
$array[2] = $_POST['precioUnitarioDet'];

//Buscamos por filas con valores nulos
$indicesVacios = array();
for (
$i 0$i count($array[2]); $i++) {
    if (!
$array[2][$i] || strlen(trim($array[2][$i])) == 0) {
        
$indicesVacios[] = $i;
    }
}

//Convertir a array detalleProducto
$detalleProducto = array();

for(
$i 0$i count($array[2]); $i++) {
    for (
$j 0$j count($array); $j++) {
        
$detalleProducto[$i][$j] = $array[$j][$i];
    }
}
//echo count($detalleProducto)."<br />";
//Eliminamos las filas que tienen valores vacios
foreach ($indicesVacios as $indice) {
    unset(
$detalleProducto[$indice]);
}

$query "INSERT INTO factura_venta(id_venta, id_cli,id_sucursal,fecha_venta ) VALUES  ($idventa, $idcliente,$idsucursal,$fechaVenta)";
        
mysql_query($query) or die(mysql_error());
            
?>


con esto solo ingreso los datos de la venta, pero ahora quiero ingresar el detalle:
cuyos datos son:

detalleventa(idVenta, item, cantidad, precioUnitario, idproducto, subtotal);

ovbiamente participan mas tablas pero no son relevantes en este caso!

ingresar el detalle de la venta es lo que quiero lograr.

gracias deantemano!