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

emeijp43  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(425)

我正在和php,mysql一起开发我的在线商店。基本上到现在为止,我已经做了一切,现在我对购物车更新过程的工作。这意味着用户可以更新他们添加到购物车中的每个产品的数量。
这就是购物车table的样子:
打印屏幕1
为了从 cart 在db表中,我这样做了:

$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;
}

以及展示 cart 在db表中,我这样做了:

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

但现在的问题是它根本不更新表!
没有错误也没有结果。。。
那么我如何才能在这个表中添加这个update按钮来工作呢。因此,用户可以改变每个产品的数量。
如果你知道如何解决这个问题,请告诉我。。谢谢!

z2acfund

z2acfund1#

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

相关问题