[英]How to update shopping cart quantity with amount in php?
以下是我無法正常工作的源代碼? 我想更新與該特定項目的數量並計算總數。 我被卡住或編碼錯誤。 請誰能告訴我做什么? 表示當用戶增加該項目的數量價格時應增加。
$sel_user = "select * from cart where ip_add = '$ip' ";
$run_sel_user = mysqli_query($con,$sel_user);
while($p_price = mysqli_fetch_array($run_sel_user))
{
$pro_id = $p_price['p_id'];
$sel_pro_from_product = "select * from products where product_id = '$pro_id'";
$run_pro_from_product = mysqli_query($con,$sel_pro_from_product);
while($pro_price = mysqli_fetch_array($run_pro_from_product))
{
$product_price = array($pro_price['product_price']);
$product_title = $pro_price['product_title'];
$product_image = $pro_price['product_img1'];
$product_single_price = $pro_price['product_price'];
$values = array_sum($product_price);
$total += $values ;
if(isset($_POST['update_cart']))
{
if(isset($_POST['qty']))
{
print_r($_POST['qty']);
foreach($_POST['qty'] as $qty_add)
{
$qty = $qty_add;
$update_qty = "update cart set qty='$qty' where p_id='$pro_id'";
$run_qty = mysqli_query($con,$update_qty);
$total=$total*$qty;
}
}
else
{
}
}
?>
<tr align="center" >
<td style="padding:5px; border:1px solid black;"><input type="checkbox" name="remove[]" value="<?php echo $pro_id;?>"/></td>
<td style="padding:5px; border:1px solid black;"><?php echo $product_title;?><br>
<img src="admin_area/product_images/<?php echo $product_image; ?>" height="60" width="60"/>
</td>
<td style="padding:5px; border:1px solid black;"><input type="text" size="4" name="qty[]"
value="<?php
$default_qty = 1;
if(!isset($_POST['qty']))
{
echo $default_qty;
}
?>" style="text-align:center;"/></td>
<td style="padding:5px; border:1px solid black;"><?php echo $product_single_price." Rs ";?></td>
</tr>
<?php
}}
?>
您正在將輸入框的名稱設置為qty []數組,並且都針對購物車中的每個項目和該數組中的每個項目進行了循環。因此,如果購物車中有20個項目,則當前正在發送20x20查詢和19 20個中包含錯誤的信息。 而是可以使用$ pro_id變量設置輸入框的名稱。
<input type="text" size="4" name="qty<?php echo($pro_id);?>"/>
這樣,您的每個文本框都有其自己的唯一名稱,該名稱標識了它是哪種產品。 然后在上面的while循環中,您可以執行以下操作
if(isset($_POST['update_cart']))
{
if(isset($_POST['qty' . $pro_id]))
{
$quantity = (int)$_POST['qty' . $pro_id];
$run_qty = mysqli_query($con,"update cart set qty='$qty' where p_id='$pro_id'");
}
}
但是,當然,按照現在的設置方式,無法知道購物車表中的哪些記錄屬於哪些用戶。 因此,如果不進行更多更改(例如,標識哪些記錄屬於哪個用戶的字段),這在現實世界的設置中將不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.