0号不工作,如果语句中while循环PHP
问题描述:
我想在表中药房所有检查数量0号不工作,如果语句中while循环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类型。
但正如我所说,这是一个糟糕的设计。您已经拥有关于数量字段值中是否包含库存的信息,请在需要的地方使用。
+0
我是PHP初学者,你的解决方案与我合作>>谢谢 – mohammed
答
的SQL查询正确sintax是
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
当你写
WHERE quantity
它可能是你唯一的选择那些其数量比 “0” 不同。只需尝试选择所有条目:
$select="SELECT * FROM drugs"
列'quantity'的数据类型是什么? –
“不行”是什么意思?任何错误? – simon
如果您将表中已有的数量作为基础,则根本无需执行任何操作。当您稍后显示内容时,只需使用数量字段。 – bcmcfc