我想检查表Pharmacy中的所有数量
如果数量== 0进行更新并更改" Out Stock"
否则数量将更改为"库存"
如果语句不起作用,则获取数字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;
}
谢谢
答案 0 :(得分:0)
您在同一行中根据另一个值设置一个值。没有必要这样做。表格设计只是将现有数据复制为两种表示形式。
如果最终目标只是向用户输出内容,请在视图中执行此操作。
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类型。
但正如我所说,这是一个糟糕的设计。您已经拥有有关数量字段值中是否包含库存物品的信息,因此请在需要的地方使用。
答案 1 :(得分:0)
SQL QUERY的正确sintax是
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
写作时
WHERE quantity
你可能只选择那些数量不同于&#34; 0&#34;的那些。只需尝试选择所有条目:
$select="SELECT * FROM drugs"