我尝试了很多东西和很多想法,但我无法使这段代码运行良好。
我开始为购物车构建页面。
In these images i want update quantity each product separately in database using sql
当我从网站更新数量产品时,我想通过p_id更新产品。不是所有的产品。
让我们说我的购物车中有两种产品:
in this images i show u my database
到目前为止,这是我的工作:
<form action="" method="post">
<table border="0" cellspacing="0" width="100%">
<tr colspan="5" class="title_incart">
<th colspan="2">product</th>
<th>qty</th>
<th>price</th>
<th>x</th>
</tr>
<?php
global $connect;
$ip = getIp();
$total = 0;
$t_price = "SELECT * FROM cart WHERE ip_add = '$ip'";
$run_price = mysqli_query($connect, $t_price);
while($row_t_price = mysqli_fetch_array($run_price)){
$pro_id_t = $row_t_price['p_id'];
$price_pro = "SELECT * FROM products WHERE p_id = '$pro_id_t'";
$run_price_pro = mysqli_query($connect, $price_pro);
while($row_price_pro = mysqli_fetch_array($run_price_pro)){
$pro_price = array($row_price_pro['p_price']);
$pro_title = $row_price_pro['p_title'];
$pro_img = $row_price_pro['p_img'];
$pro_price_single = $row_price_pro['p_price'];
$values = array_sum($pro_price);
$total +=$values;
?>
<tr colspan="5" class="info_incart">
<th><img class="res_img_incart" src="files/images/images_product/<?php echo $pro_img; ?>"/></th>
<th><?php echo $pro_title; ?></th>
<th><input type="text" name="abcd" size="1" value="<?php echo $_COOKIE['abcd']; ?>"/></th>
<?php
if(isset($_POST['update_cart'])){
$abcd = $_POST['abcd'];
$update_qty = "UPDATE cart SET abcd = '$abcd' WHERE p_id = '$pro_id_t'";
$run_u_qty = mysqli_query($connect, $update_qty);
$_COOKIE['abcd'] = $abcd;
$total = $total*$abcd;
}
?>
<th><?php echo $pro_price_single; ?> $</th>
<th><input type="checkbox" name="remove[]" value="<?php echo $pro_id_t; ?>"/></th>
</tr>
<?php } } ?>
<tr colspan="5" class="total_price_incart">
<th>Total price</th>
<th><?php echo $total; ?> $</th>
</tr>
<tr class="checkout_incart">
<th colspan="2">
<input type="submit" name="update_cart" value="update cart"/>
</th>
</tr>
</table>
</form>
我只是想要这方面的帮助
<th><input type="text" name="abcd" size="1" value="<?php echo $_COOKIE['abcd']; ?>"/></th>
<?php
if(isset($_POST['update_cart'])){
$abcd = $_POST['abcd'];
$update_qty = "UPDATE cart SET abcd = '$abcd' WHERE p_id = '$pro_id_t'";
$run_u_qty = mysqli_query($connect, $update_qty);
$_COOKIE['abcd'] = $abcd;
$total = $total*$abcd;
}
?>
<input type="submit" name="update_cart" value="update cart"/>
请帮帮我,我希望这可以用于我的学校作业,如果有什么不妥,我会对我的英语感到抱歉。
我的朋友经过大量尝试后找到了解决方案
我用过
$query = "UPDATE cart SET abcd= 'abcd + 1' WHERE p_id = '$pro_id'";
并且工作正常,当我将产品添加到我的购物车时,它会在旧值上添加+1
答案 0 :(得分:0)
您循环浏览商品,并检查$_POST['update_cart']
是否设置为更新商品的数量。但是如果为一次迭代设置了$_POST['update_cart']
,则会为所有迭代设置abcd
。因此,您将更新循环中每个项目的数量。
您可以做的是为每个输入字段指定一个唯一的名称。不只是将它们全部命名为<tr colspan="5" class="info_incart">
<th><img class="res_img_incart" src="files/images/images_product/<?php echo $pro_img; ?>"/></th>
<th><?php echo $pro_title; ?></th>
<th><input type="text" name="abcd<?php echo $pro_id_t ?>" size="1" value="<?php echo $_COOKIE['abcd' + $pro_id_t]; ?>"/></th>
<?php
if(isset($_POST['update_cart'])){
$abcd = $_POST['abcd' + $pro_id_t];
$update_qty = "UPDATE cart SET abcd = '$abcd' WHERE p_id = '$pro_id_t'";
$run_u_qty = mysqli_query($connect, $update_qty);
$_COOKIE['abcd' + $pro_id_t] = $abcd;
$total = $total*$abcd;
}
?>
<th><?php echo $pro_price_single; ?> $</th>
<th><input type="checkbox" name="remove[]" value="<?php echo $pro_id_t; ?>"/></th>
</tr>
。这样,您就可以识别每个项目的数量。
这样的事情:
.FullSeriesCollection