2
現在第3天,我想弄清楚如何在數量變化時獲得總計更新。我已經做到了價格和總數,因爲我改變了數量,但總計我無法做到。 這裏是我的代碼如何從php使用javascript/jquery獲得總計總計
<?php
if(isset($_POST['prod_id'])){
$prod_id =$_POST['prod_id'];
$prod_qty=$_POST['qty'];
$up_cart="UPDATE `cart` SET `qty` = '$prod_qty' WHERE `cart`.`product_id` = '$prod_id'";
$up_cart_run = mysqli_query($conn,$up_cart);
if($up_cart_run){
echo "done";
}
}
?>
<?php
$cart_item_query="SELECT * FROM cart";
$cart_item_run = mysqli_query($conn,$cart_item_query);
if (mysqli_num_rows($cart_item_run)>0){
$grand_total=0;
while($cart_row=mysqli_fetch_array($cart_item_run)){
$pro_id = $cart_row['product_id'];
$pro_qty = $cart_row['qty'];
$product_query="SELECT * FROM products WHERE product_id = '$pro_id'";
$product_run = mysqli_query($conn, $product_query);
$product_row = mysqli_fetch_array($product_run);
$pro_name = $product_row['product_name'];
$pro_image = $product_row['product_image'];
$pro_sell_price = $product_row['sell_price'];
$total = $pro_sell_price*$pro_qty;
$grand_total =$grand_total+ $total;
?>
<div class="row">
<div class="col-md-3 col-xs-3"><img src="img/<?php echo $pro_image; ?>" alt="" width="50px"></div>
<div class="col-md-3 col-xs-3"><p><?php echo $pro_name; ?></p><a href=""><p><i class="fa fa-trash" aria-hidden="true"></i> Remove</p></a></div>
<div class="col-md-2 col-xs-2">
<select class="change_qty" size="1" style="width:50px;">
<?php
for ($i = 1; $i <= 9; $i++) {
$selected = $pro_qty == $i? 'selected' : '';
echo "<option class='qty' data-pro='{$pro_id}' value='{$i}' {$selected}>{$i}</option>";
}
?>
</select>
</div>
<div class="col-md-2 col-xs-2"><input data-pro="<?php echo $pro_id; ?>" id="price-<?php echo $pro_id; ?>" type="text" value="<?php echo $pro_sell_price; ?>" disabled class="form-control dis-input price"></div>
<div class="col-md-2 col-xs-2"><input id="total-<?php echo $pro_id; ?>" data-pro="<?php echo $pro_id; ?>" type="text" value="<?php echo $total; ?>" disabled class="form-control dis-input total"></div>
</div>
<hr>
<?php
}
}
?>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card">
<div class="card-body">
<div id="cart_total"></div>
<h3>TOTAL <span class="pull-right" id="grand_total">RS. <?php echo $grand_total;?></span></h3> <br>
<a href="" class="btn btn-secondary btn-block">PLACE ORDER</a><br>
<h5>ORDER SUMMARY</h5>
<P>Total Price <span class="pull-right">RS.50000</span> </P>
<P>Discount <span class="pull-right text-success">- Rs.0</span> </P>
<P>Sub Total <span class="pull-right">Rs.60000</span> </P>
<P>Estimated GST <span class="pull-right">Rs.0</span> </P>
<P>Delivery Charges <span class="pull-right">Rs.0</span> </P><hr>
<h5>Total Payable <span class="pull-right">RS. 60000</span> </h5>
</div>
</div>
而且這裏是js的
$('body').delegate('.change_qty','change',function(){
var qty = $(this).val();
var prod_id = $('option:selected', this).attr('data-pro');
var price = $('#price-'+prod_id).val();
var total = qty*price;
$('#total-'+prod_id).val(total);
up_cart();
function up_cart(){
$.ajax({
url:'cart.php',
method:'POST',
data:{prod_id:prod_id,
qty:qty
},
success:function(response){
}
});
}
});
現在一切都只是總計做工精細。在頁面刷新總總更新,但我希望它作爲更改數量像價格更新。謝謝。
你永遠不會做任何事情來更新成功函數內? – adeneo
通常,在使用AJAX執行這些操作時,您會發送回應,其中包含您需要相應更新前端的數據。 – apokryfos
@apokryfos先生,你能詳細解釋我的情況嗎? – kohali