Php 如何处理购物车表中的更新查询
我正在与PHP、MySQL合作开发我的在线商店。基本上到现在为止,我已经做了所有的事情,现在我正在工作的购物车更新过程。这意味着用户可以更新他们添加到购物车中的每个产品的数量 这就是cart表的外观: 为了从数据库中的Php 如何处理购物车表中的更新查询,php,mysql,mysqli,sql-update,Php,Mysql,Mysqli,Sql Update,我正在与PHP、MySQL合作开发我的在线商店。基本上到现在为止,我已经做了所有的事情,现在我正在工作的购物车更新过程。这意味着用户可以更新他们添加到购物车中的每个产品的数量 这就是cart表的外观: 为了从数据库中的cart表中检索产品,我执行了以下操作: $cart_id = $_GET['cart_id']; $get_add = "SELECT * FROM cart WHERE cart_id = '$cart_id'"; $run_add = mysqli_query($con,$
cart
表中检索产品,我执行了以下操作:
$cart_id = $_GET['cart_id'];
$get_add = "SELECT * FROM cart WHERE cart_id = '$cart_id'";
$run_add = mysqli_query($con,$get_add);
$cart_items = [];
$total_price_to_pay = 0;
while ($row_results = mysqli_fetch_array($run_add)){
$item = array(
'table_id' => $row_results['table_id'],
'cart_id' => $row_results['cart_id'],
'pro_id' => $row_results['product_id'],
'pro_title' => $row_results['product_title'],
'pro_price' => $row_results['product_price'],
'pro_img' => $row_results['product_image'],
'pro_supplier' => $row_results['product_supplier'],
'qty' => $row_results['qty'],
'cart_ip' => $row_results['cart_ip'],
'pro_total' => $row_results['qty']*$row_results['product_price'],
);
$total_price_to_pay += $row_results['qty']*$row_results['product_price'];
$cart_items[] = $item;
}
<form method='POST' action=''>
foreach ($cart_items as $cart) {
$pro_id = $cart['pro_id'];
echo "
<input type='hidden' name='pro_id' value='$pro_id'>
<h4><a href=''>".$cart['pro_title']."</a></h4>
<p>".$cart['pro_supplier']."</p>
<select name='quantites'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
</select>
}
<input name='update' type='submit' value='UPDATE'></input>
</form>
为了在db中显示cart
表的结果,我这样做了:
$cart_id = $_GET['cart_id'];
$get_add = "SELECT * FROM cart WHERE cart_id = '$cart_id'";
$run_add = mysqli_query($con,$get_add);
$cart_items = [];
$total_price_to_pay = 0;
while ($row_results = mysqli_fetch_array($run_add)){
$item = array(
'table_id' => $row_results['table_id'],
'cart_id' => $row_results['cart_id'],
'pro_id' => $row_results['product_id'],
'pro_title' => $row_results['product_title'],
'pro_price' => $row_results['product_price'],
'pro_img' => $row_results['product_image'],
'pro_supplier' => $row_results['product_supplier'],
'qty' => $row_results['qty'],
'cart_ip' => $row_results['cart_ip'],
'pro_total' => $row_results['qty']*$row_results['product_price'],
);
$total_price_to_pay += $row_results['qty']*$row_results['product_price'];
$cart_items[] = $item;
}
<form method='POST' action=''>
foreach ($cart_items as $cart) {
$pro_id = $cart['pro_id'];
echo "
<input type='hidden' name='pro_id' value='$pro_id'>
<h4><a href=''>".$cart['pro_title']."</a></h4>
<p>".$cart['pro_supplier']."</p>
<select name='quantites'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
</select>
}
<input name='update' type='submit' value='UPDATE'></input>
</form>
foreach($cart\u项目作为$cart){
$pro_id=$cart['pro_id'];
回声“
“$cart['pro_supplier']
1.
2.
3.
4.
5.
}
现在,为了更新每个项目的数量,我添加了以下操作:
<?php
if(isset($_POST['update'])){
$proid = $_POST['pro_id'];
$quantities = $_POST['quantities'];
$update_qty = "
UPDATE `cart` SET `qty` = '$quantities' WHERE `product_id` = '$proid'
";
$run_qty = mysqli_query($con,$update_qty) or die(mysqli_error($con));
if($run_qty){
echo "<META HTTP-EQUIV='Refresh' Content='0; URL=cart.php?cart_id=$cart_id'>";
}else{
error_reporting(E_ALL);
die(mysqli_error($con));
}
}
?>
使用以下代码更新html表单,然后立即尝试
<form method='POST' action=''>
<?php foreach ($cart_items as $cart) {
echo "<input type='hidden' name='pro_id' value='".$cart['pro_id']."'>
<h4><a href=''>".$cart['pro_title']."</a></h4>
<p>".$cart['pro_supplier']."</p>
<select name='quantites'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
</select>";
} ?>
<input name='update' type='submit' value='UPDATE'></input>
</form>
在更新查询中添加更新的\u at=now()。更新cart
SETqty
='$quantities',更新的\u at=now(),其中proid
='$proid'