我遇到了一個批量更新的問題
假設我是一個迴圈印出了價格和商品ID
while($row = mysqli_fetch_array($data)){
<input type="hidden" name="cart_prod_id[]" value="<?=$row['prod_id'];?>">
<input type="hidden" name="cart_quantity[]" value="<?=$row['quan'];?>">
}
我要修改某數據表的商品資訊
假設打印出來是這樣:
商品ID/數量
12 / 2
13 / 1
14 / 5
當我要改其中一個商品的數量,我要把13改成數量10
我另一方接收的代碼是怎麼寫才對?
要更新給數據庫
我知道是這個樣子:
foreach ...
"UPDATE `user_cart`
SET `quan` = {$quan}
WHERE `prod_id` = '{$prod_id}' "
但我要怎麼取得每個 prod_id 和 quan ?怎麼對應才對?
prod_id = 12, quan = '2'
prod_id = 13, quan = '10'
prod_id = 14, quan = '5'
我對這種批次上傳太弱了,第一次接觸
請多包涵
大概是這樣,剩下就套用你的php就可以了
$i = 0;
foreach($_POST["cart_prod_id"] as $value){
$quan = $_POST["cart_quantity"][$i];
$sql = "UPDATE `user_cart` SET `quan` = $quan WHERE `prod_id` = '{$value}' ";
$result = $db->prepare($sql);
$result->execute();
$i++;
}
再加一個就是 $POST["hidden_name"], 它就是個array,無法回覆了,沒問題就結案吧~
請參考 array用法 http://www.wibibi.com/info.php?tid=80
我發現沒有修改~我有加上 query 了
$i = 0;
foreach($_POST["cart_prod_id"] as $value){
$pdo->query("UPDATE `user_cart`
SET `quan` = {$_POST["cart_quantity"][$i]}
WHERE `prod_id` = '{$value}' ");
$i++;
}
正想問你原理是什麼,不過好像無法運行