【发布时间】:2020-04-18 14:04:59
【问题描述】:
我的更新有问题。我更新了我的库存,删除了制作食物所需的数量(库存 = 库存 - :数量),如果我的库存 <=0 我打印出我没有足够的元素来制作食物。
这是我的代码:
<?php
$query1 = "SELECT ingredients.stock as stock,
composition.id_ingredient,composition.quantite
rom composition
join ingredients on(composition.id_ingredient = ingredients.id)
where id_recette = 1;";
$response1 = $db->query($query1);
$response1->setFetchMode(PDO::FETCH_ASSOC );
foreach ($response1 as $row1) {
$persons1[] = $row1;
}
$response1->closeCursor();
?>
<?php
if (isset($_GET['burger1']) AND $_GET['burger1'] == 'fabriquer') {
foreach ($persons1 as $ET10) {
if($ET10['stock'] - $ET10['quantite']<0){
echo "Stock insuffisant de: ".$ET10['id_ingredient'];
;
}
}else if($ET10['stock'] - $ET10['quantite']>=0){
$req=$db->prepare("UPDATE ingredients SET stock = stock - :quantite WHERE id = :ingredient");
$req->execute(array(
'quantite' => $ET10['quantite'],
'ingredient' => $ET10['id_ingredient'])
);
}
?>
<?php
}
?>
问题是我打印了消息,如果我点击我的按钮“fabriquer”,它将继续更新其他元素,它们的(库存 - 数量)> 0。但是我想说,如果我们没有足够的库存,就不可能制作食物。因此,如果无法更新 1 个元素,我想停止更新。
感谢阅读!
【问题讨论】:
标签: php sql button sql-update