如何处理购物车表中的更新查询

时间:2018-04-28 07:35:33

标签: php mysql mysqli sql-update

我正在使用PHP,MySQL来开发我的在线商店。基本上到现在为止我已经做了所有事情,现在我正在进行购物车更新过程。这意味着用户可以更新他们添加到购物车中的每种产品的数量。

这就是购物车表的样子:

print screen 1

为了从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;
}

为了在db中显示cart表的结果,我做了这个:

<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>

现在,为了更新每件商品的数量,我将其添加为操作:

<?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));
        }
    }
?>

但现在问题是它根本没有更新表格!

没有错误,没有结果......

那么如何在此表中添加此更新按钮才能正常工作。因此,用户可以更改每个产品的数量。

如果你知道如何解决这个问题,请告诉我..谢谢!

1 个答案:

答案 0 :(得分:0)

使用以下代码更新您的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>
相关问题