我要检查表Pharmacy中所有的数量
如果数量== 0,更新并更改"缺货"
否则数量将变为"In Stock"
如果语句不工作
我的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!";
}
如果你真的想要更新数据库,在两次查询中完成它,而不是每一行两次:
UPDATE drugs SET stock = 'Out of Stock' WHERE quantity = 0;
UPDATE drugs SET stock = 'In Stock' WHERE quantity > 0;
当然假设stock字段是CHAR或VARCHAR类型。
但正如我所说,这是一个糟糕的设计。在quantity字段的值中已经包含了关于某件商品是否有库存的信息,所以在需要的地方使用它。
正确的SQL查询是
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
WHERE quantity
可以是你只选择那些不同于"0"的数量。试着选择所有条目:
$select="SELECT * FROM drugs"