【问题标题】:Form POST data loop how to assign in a variable and compare to a DB表单 POST 数据循环如何分配变量并与数据库进行比较
【发布时间】:2012-10-27 06:01:02
【问题描述】:

我有一个购物车表单,一旦我提交表单,我就会循环 POST 值以将其打印在桌子上。这是所售商品的循环

<?php
    for($i = 0; $i < count($_POST["id"]); $i++){
        echo "<tr>";
        echo "<td>".$_POST["name"][$i]."</td>";
        echo "<td>$ ".$_POST["price"][$i]."</td>";      
        echo "<td>".$_POST["quantity"][$i]."</td>";
        $total[$i] = $_POST["price"][$i]*$_POST["quantity"][$i];
        echo "<td>$ ".$total[$i]."</td>";
        echo "</tr>"; 
 ?>

我的问题是基于这个循环,我需要将它与具有以下字段的产品数据库进行比较

|名称 |价格 |数量左 |数量 |其中 QtyLeft 是当前的库存数量。那么根据上面的代码,我如何查询我的表以减去出售给 QtyLeft 的商品数量并更新 QtySold?

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    对于循环中的每个项目:

    $quantity = intval($_POST["quantity"][$i]);
    $id = intval($_POST["id"]);
    $sql = "UPDATE product SET QtyLeft = QftLeft - $quantity, QtySold = QtySold + $quantity WHERE id = $id";
    

    【讨论】:

    • 必须是WHERE语句结尾,WHERE id = ".$_POST['id'][$i]."
    • 感谢您的回复,但在我处理表单时它没有更新表格。我附和了这个声明,它似乎是正确的UPDATE accinventory_bp SET qtyleft = qftleft - 1, qtysold = qtysold + 1 WHERE serial = 7
    • 哦,我明白了。非常感谢 =)
    猜你喜欢
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 2018-08-20
    • 2018-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多