ok amigo, lo que yo haria seria ir creando lineas dinamicamente a medida que necesite agrear articulos a mi factura, eso con jquery, luego las almacenaria en 2 tablas diferentes, por ejemplo, tabla factura y detalle factura, al momento de recuperarla haria un while que muestre los datos de detalle factura en la factura en pantalla.
tabla donde se generan las filas dinamicas
Código HTML:
Ver original<form action="guarda_factura.php" method="POST" enctype="multipart/form-data"><table id="tablatracking"> <td align="left"><input onclick="agregarArticulo()" type="button" value="Agregar Articulo" id="boton_agregar" class="btn btn-success"></td> <td width="100" id="titulo">Articulo
</td> <input type="submit" value="Registrar" id="boton_enviar" class="btn btn-warning" />
script que genera las filas al hacer clic en el boton:
Código Javascript
:
Ver original// <![CDATA[
var posicionCampo = 1;
function agregarArticulo() {
nuevaFila = document.getElementById("tablatracking").insertRow(-1);
nuevaFila.id = posicionCampo;
nuevaCelda = nuevaFila.insertCell(-1);
nuevaCelda.innerHTML = "<td><input type='text' size='50' name='Articulo[" + posicionCampo + "]' value='' placeholder=' Articulo...' required /></td>";
posicionCampo++;
}
function eliminarUsuario(obj) {
var oTr = obj;
while(oTr.nodeName.toLowerCase() != 'tr') {
oTr=oTr.parentNode;
}
var root = oTr.parentNode;
root.removeChild(oTr);
}
con esto los recibo y los guardo en la base de datos:
Código PHP:
Ver original
foreach($_POST['articulo'] as $key=>$value)
$articulo[]= $value;
for($i=0; $i<count($articulo); $i++) {
$result = $db->query("INSERT INTO detalle_factura (articulo) VALUE('$articulo[$i]')");
toda la data que ves alli es de muestra, adapta el codigo a tus variables