ESTE ES EL INDEX:
Resulta que estoy realizando un formulario donde digito informacion acerca del usuario que voy a ingresar, el numero de factura, iva, fecha de creacion de la factura y fecha de entrega. Esa informacion no necesito repetirla, porque es unica.
Pero la informacion que tengo a la izquierda es el codigo y cantidad del producto que deseo anotar, Ahora.. Abajo tengo un boton llamado "+", el cual se encarga de cojer esos dos inputs del lado de la izquierda y repetirlos, para poder digitar otros codigos de productos, y todo eso me da normal...
El problema que veo es que al momento de yo mandar los datos a travez del boton "Submit", el los manda pero no se como hacer para que en el sistema del INSERT se pueda digitar las variables que ya estan asociadas (Numero de factura, Usuario, Iva, Fecha de Creacion y Entrega), con las que estoy repitiendo (Codigo y Cantidad).
PD: Ya encontre como mandar un grupo de array por php a mysql que seria asi
Código
<?php include("../conexion_mysql.php"); $numfact = $_POST['numfact']; $codigo = $_POST['codigo']; $cantid = $_POST['cantidad']; $usuari = $_POST['user']; $iva = $_POST['iva']; $fc = $_POST['fc']; $fe = $_POST['fe']; $vtotal = 0; $cadena = "INSERT INTO factura (num_factura, codigo, usuario, cantidad, iva, fechacrea, fechaentre, vtotal) VALUES "; $cadena.= "(".$numfact[$i]."', '".$codigo[$i]."', '".$usuari[$i]."', '".$cantid[$i].",".$iva[$i]."', '".$fc[$i]."', '".$fe[$i]."', '".$vtotal[$i]."'),"; } $cadena_final.=";"; if ($sql) { }else { echo 'Error'; } ?>
Pero ovbiamente al momento de mandar me sale un error que este.
Código:
<br />
<b>Notice</b>: Trying to access array offset on value of type int in <b>/opt/lampp/htdocs/MiPagina/php/Facturacion/validarfactu.php</b> on line <b>15</b><br />
<br />
<b>Notice</b>: Undefined offset: 1 in <b>/opt/lampp/htdocs/MiPagina/php/Facturacion/validarfactu.php</b> on line <b>15</b><br />
<br />
<b>Notice</b>: Undefined offset: 1 in <b>/opt/lampp/htdocs/MiPagina/php/Facturacion/validarfactu.php</b> on line <b>15</b><br />
<br />
<b>Notice</b>: Undefined offset: 1 in <b>/opt/lampp/htdocs/MiPagina/php/Facturacion/validarfactu.php</b> on line <b>15</b><br />
<br />
<b>Notice</b>: Undefined offset: 1 in <b>/opt/lampp/htdocs/MiPagina/php/Facturacion/validarfactu.php</b> on line <b>15</b><br />
<br />
<b>Notice</b>: Undefined offset: 1 in <b>/opt/lampp/htdocs/MiPagina/php/Facturacion/validarfactu.php</b> on line <b>15</b><br />
<br />
<b>Notice</b>: Trying to access array offset on value of type int in <b>/opt/lampp/htdocs/MiPagina/php/Facturacion/validarfactu.php</b> on line <b>15</b><br />
{"cadena":"INSERT INTO factura (num_factura, codigo, usuario, cantidad, iva, fechacrea, fechaentre, vtotal) VALUES ('01', '1234', 'usuario', '5,5', '2020-02-08', '2020-02-20', ''),('', '1235', '', '6,', '', '', ''),"}
Utilizo Jquery por el metodo JSON para mandar los datos de html a php
el HTML es este:
Código
<section class="cuerpo"> <form method="POST" action="validarfactu.php" class="factura"> <div class="container"> <div class="row"> <div class="col-12 col-sm-6"> <?php $sql = "SELECT usuario FROM usuario"; $consulta = mysqli_query($conectar, $sql); while ($mover = mysqli_fetch_array($consulta)){ ?> <?php }?> </select> </div> <div class="col-12 col-sm-6 repetido"> </div> </div> </div> </form> </section
el Jquery
Código
// CLONAR Y ELIMINAR INPUT $(document).ready(function(e){ // VARIABLES var html = '<center><div><label for="code">Codigo</label><br><input id="code" type="number" name="codigo[]"><br><label for="cantidad">Cantidad</label><br><input type="number" id="cantidad" name="cantidad[]"><br> <hr><button id="exit">X</button></div></center>'; // CLONAR $("#agregar").click(function(){ $(".repetido").append(html); }); // ELIMINAR $(".repetido").on('click','#exit',function(){ $(this).parent('div').remove(); }); }); // PETICION TIPO AJAX jQuery(document).on('submit','.factura',function(event){ event.preventDefault(); jQuery.ajax({ url: 'validarfactu.php', type: 'POST', dataType: 'json', data: $(this).serialize(), }) .done(function(respuesta){ console.log(respuesta); if(!respuesta.error) { alert("Los datos se ingresaron correctamente"); }else { alert("Los datos NO se ingresaron correctamente"); } }) .fail(function(resp){ console.log(resp.responseText); }) .always(function(){ console.log("complete"); }) });
Alguna persona que me pueda colaborar?, por favor gracias