Hola estoy haciendo un programa usando xammp (php, mysqil) de punto de venta para mi tienda, pero eh tenido un problema, recientemente agregue al formulario una opción con un checkbox para descartar las compras que ya no desee un cliente pero esta al seleccionar digamos: Producto A Producto B Producto C
si deseo descartar el [b] el a si es tomando en cuenta pero el resto es ignorado este es el codigo de el formulario que lo ordenó por medio de una tabla:
$ ("#add").click(function(){ $ ("#mensaje").html(""); var tds=$ ("#tabla tbody tr:first td").length; var trs=$ ("#tabla tbody tr").length; var nuevaFila="<tr class='animated fadeInDown'>"; nuevaFila+='<td><input type="checkbox" id="descartes'+(trs)+'" name="descarta[]" value="1"><label for="descartes'+(trs)+'">Descartar</label></td>'; nuevaFila+='<td><input type="hidden" name="cprodu[]" id="cpro'+(trs)+'" /><input type="hidden" name="idProd[]" id="idp'+(trs)+'" /><input type="text" placeholder="Codigo" name="codProd[]" id="cod'+(trs)+'" disabled /></td>'; nuevaFila+='<td><input type="text" class="typeahead tt-query" placeholder="Producto" name="desc[]" id="d'+(trs)+'" onchange="getInventario()" required/></td>'; nuevaFila+='<td><input type="text" placeholder="Cantidad" class="cantidad" name="cantidad[]" id="c'+(trs)+'" autocomplete="off" onchange="getCantidad()" style="width: 75px;" required/></td>'; nuevaFila+='<td><input type="text" placeholder="Precio" name="" id="p'+(trs)+'" autocomplete="off" disabled="true" style="width: 150px;" />Bs</td>'; nuevaFila+='<td><input type="text" placeholder="Total duplicado" name="" id="t'+(trs)+'" autocomplete="off" disabled="true" style="width: 150px;" />Bs</td>'; nuevaFila+="</tr>"; $ ("#tabla").append(nuevaFila); $ ('input.typeahead').typeahead({ name: 'typeahead', remote:'core/searchinv.php?key=%QUERY', limit : 10 }); //otro detallito });
y en php recibe por ajax:
$ respuesta = new stdClass(); if ($ _POST) { $ fecha = date('d/m/Y'); $ hora = date('H:i:s', time()); $ id_user = $ _SESSION["iduser"]; $ order_id=sha1($ fecha.$ hora); $ orderItemStatus = false; for($ x = 0; $ x < count($ _POST['idProd']); $ x++) { $ updateProductQuantitySql = "SELECT inventario.cantidad FROM inventario WHERE inventario.id = ".$ _POST['idProd'][$ x].""; $ updateProductQuantityData = $ connect->query($ updateProductQuantitySql); $ checkbox = isset($ _POST['descarta'][$ x]) ? $ _POST['descarta'][$ x] : "0"; while ($ updateProductQuantityResult = $ updateProductQuantityData->fetch_row()) { if($ checkbox=="1"){ $ updateQuantity[$ x] = $ updateProductQuantityResult[0] - $ _POST['cantidad'][$ x]; // update inventario table $ updateProductTable = "UPDATE inventario SET cantidad = '".$ updateQuantity[$ x]."' WHERE id = ".$ _POST['idProd'][$ x].""; $ connect->query($ updateProductTable); // add into order_item $ orderItemSql = "INSERT INTO history_orders (order_id, cod_producto, cantidad, fecha, hora, vendedor_id) VALUES ('$ order_id', '".$ _POST['cprodu'][$ x]."', '".$ _POST['cantidad'][$ x]."', '$ fecha', '$ hora','$ id_user')"; $ connect->query($ orderItemSql); if($ x == count($ _POST['idProd'])) { $ orderItemStatus = true; } } } // while } // /for quantity // while $ respuesta->mensaje = '<div style="color:lime;" class="animated flash icon fa-check"> Listo, compra realizada con exito </div>'; $ connect->close(); }else{ $ respuesta->mensaje = '<div style="color:red;" class="animated flash icon fa-warning"> Error, Campos invalidos o vacios </div>'; } echo json_encode( $ respuesta );