0
Good morning. I am a beginner programmer, and I am developing a sales web app, which sums up all prices of products dynamically included by javascript:
<script>
function somaTotal() {
var total = 0;
$(".input_preco_venda").each(function(){
total += parseFloat($(this).text());
});
$(".soma_venda").text(total);
}
// A função que gera inputs dinamicamente:
$(document).ready(function () {
// A função que multiplica o preço do produto pela quantidade:
$(document).on("keyup", ".input_quantidade_venda", function(){
// pego o índice da classe
var indice = $(".input_quantidade_venda").index(this);
var n1 = parseInt(this.value, 10);
// aplico a outra classe com o mesmo índice
$('.input_preco_venda:eq('+indice+')').html(n1 * 10);
somaTotal();
});
var i = 1;
$('#add').click(function () {
i++;
$('#dynamic_field_venda').append('<tr class= "row" id="row' + i + '"><td><div class="input-field col s6"><input placeholder="Digite o Produto" name="input_produto_venda[]" type="text" class="validate"><label class="active" for="input_produto_venda[]">Produto</label></div><div class="input-field col s2"><input placeholder=" " name="input_quantidade_venda[]" class="input_quantidade_venda" type="text" class="validate" value="1"><label class="active" for="input_quantidade_venda[]">Quantidade</label></div><div class="input-field col s2"><div class="input_preco_venda"></div><label class="active" for="input_preco_venda[]">Preço</label></div><div class="input-field col s2"><button type="button" class="btn-floating btn-large waves-effect waves-light grey darken-3 btn btn-danger btn_remove" name="remove" id="' + i + '"><i class="material-icons">remove</i></button></div></td> </tr>');
});
$(document).on('click', '.btn_remove', function () {
var button_id = $(this).attr("id");
$('#row' + button_id + '').remove();
somaTotal();
});
M.updateTextFields();//Manter este recurso após os adds e removes dos botões, pois dá erro no cálculo
$('#submit').click(function(){
$.ajax({
url:"components/cad_venda.php",
method:"POST",
data:$('#cadastro_venda').serialize(),
success:function(data) {
alert(data);
$('#cadastro_venda')[0].reset();
}
});
});
});
</script>
And play this div:
<div class="input-field col s3">
<div class="row">
<div class="input-field col s9 center">
<?php echo "O total é R$ " ?>
</div>
<div class="input-field col s3 left">
<div class="soma_venda" name="soma_venda" id="soma_venda"></div>
</div>
</div>
</div>
Bench:
<?php
$connect = mysqli_connect("localhost", "root", "", "narguile");
$number = count($_POST["input_quantidade_venda"]);
$soma_venda = $_POST['soma_venda'];
if($number > 0) {
for($i=0; $i<$number; $i++) {
if(trim($_POST["input_quantidade_venda"][$i] != '')) {
$sql = "INSERT INTO vendas(quantidade, total) VALUES('".mysqli_real_escape_string($connect, $_POST["input_quantidade_venda"][$i])."', '$soma_venda')";
mysqli_query($connect, $sql);
}
}
echo "Venda cadastrada!";
}
else {
echo "Não rolou";
}
?>
But I need to put the value of this "soma_sale" in the database, and honestly, I have no idea how. If anyone can help me, I’d appreciate it.
It is necessary to use AJAX or a form for sending data.
– Valdeir Psr
@Valdeirpsr, I’m using. I put the full code now...
– Excel
Possible duplicate of Match php variable to javascript variable
– edson alves
Vc wants to include in the bank all quantities and the overall total (not the total of each product)?
– Sam