[英]Number 0 not work with if statement inside while loop php
我想检查表药房中的所有数量
如果数量 == 0 进行更新并更改“缺货”
否则数量将更改为“有货”
如果语句不起作用,则何时获得数字 0。
这是我的 php 代码:
$select="SELECT * FROM drugs WHERE quantity";
$resultt = mysqli_query($connect, $select);
$count="1";
while($row = $resultt->fetch_array(MYSQLI_ASSOC)){
$id=$row["id"];
$Quantity=$row["quantity"];
if($Quantity == "0"){
$update="UPDATE drugs SET stock='Out Stock' WHERE id='$id'";
$result = mysqli_query($connect, $update);
}else{
$update="UPDATE drugs SET stock='In Stock' WHERE id='$id'";
$result = mysqli_query($connect, $update);
}
$count++;
$Q+=$Quantity;
}
谢谢
不要打扰。
您正在根据同一行中的另一个值设置一个值。 没有必要这样做。 表设计只是将现有数据复制为两种表示形式。
如果最终目标只是向用户输出内容,请在视图中执行此操作。
if ($row['quantity'] < 1) {
echo "out of stock!";
}
如果您真的想更新数据库,请在两个查询中进行,而不是每行 2 个:
UPDATE drugs SET stock = 'Out of Stock' WHERE quantity = 0;
UPDATE drugs SET stock = 'In Stock' WHERE quantity > 0;
当然假设股票字段是 CHAR 或 VARCHAR 类型。
但正如我所说,这是一个糟糕的设计。 您已经在数量字段的值中获得了有关某件商品是否有库存的信息,因此请在需要的地方使用该信息。
SQL QUERY 的正确语法是
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
当你写
WHERE quantity
可能是您只选择数量不同于“0”的那些。 尝试选择所有条目:
$select="SELECT * FROM drugs"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.