在php基本库存项目中显示产品outofstock

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (64)

嘿,我正在尝试制作一个基本的库存项目,我想在卖产品按钮上显示缺货信息。基本上在数据库中,如果balance_quantity为0,那么该条目应该停止并显示一条消息。尝试定义变量$ balance_quantity =“0”; 并且代替if和elseif这里是我的代码。

<?php 

    $db = mysqli_connect('localhost', 'root', '', 'inventory');

    if (isset($_GET['sell'])) {
        $item_id = $_GET['sell'];
        $balance_quantity = $_GET['bal']-1;

        $record = mysqli_query($db, "UPDATE item_master SET balance_quantity=$balance_quantity WHERE item_id=$item_id");

    }

    if(isset($_GET['buy'])) {
        $item_id = $_GET['buy'];


        $quantity =  1;
        $query =  "INSERT INTO transaction (Item_id, quantity) VALUES ($item_id,$quantity)" ;
        mysqli_query($db, $query);  
    }

?>


<td>
    <a href="cart.php?sell=<?php echo $row['item_id']; ?>&bal=<?php echo $row['balance_quantity']; ?>" class="btn">Sell</a>
</td>
<td>
    <a href="cart.php?buy=<?php echo $row['item_id']; ?>" class="btn">Buy</a>
</td>
提问于
用户回答回答于

只是一个建议:从数据库中获取当前余额并进行比较。

在这里,您将获得GET值的余额。如果其他用户同时购买或出售该怎么办?

例:

    $db = mysqli_connect('localhost', 'root', '', 'inventory');

    if (isset($_GET['sell'])) {
        $item_id = $_GET['sell'];
        $balance_query= mysqli_fetch_assoc(mysqli_query($db, "SELECT balance_quantity FROM item_master WHERE item_id=$item_id"));

$balance_quantity = balance_query['balance_quantity'];

//Rest of logic. Or even better, make a function that plain returns getBalance($itemId)

    }

扫码关注云+社区

领取腾讯云代金券