下面是我不起作用的源代码?我想更新相应数量与该特定项目并计算总数。我被卡住了或编码错误。请谁能告诉我该怎么做?表示用户增加该商品的数量价格何时应增加。
$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 个查询,而 20 个查询中有 19 个包含错误的信息。相反,您可以使用 $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'");
}
}
但是,当然,现在的设置方式,无法知道购物车表中的哪些记录属于哪些用户。因此,如果没有更多更改,这将在现实世界的设置中不起作用(例如标识哪些记录属于哪个用户的字段)