在编写购物网站时,我需要更新产品库存。但问题是,购物车自然可以有几次相同的物品。更新它的最佳方法是什么?
我尝试过IN
,但以下 SQL 查询返回 3 个项目。
SELECT *
FROM `products`
WHERE id
IN ( 3, 4, 4, 6 )
LIMIT 0 , 30
这是我的解决方案,但我认为这不是最好的解决方案。
$cart = array(1,3,4,4,5,8,22,22);
$itemlist = array_count_values($cart);
foreach($itemlist as $itemid=>$ocurrence){
$SQL = "UPDATE products SET stock = stock-".$ocurrence." WHERE id = ".$itemid;
mysql_query($SQL);
}