批量更新到數據庫?

我遇到了一個批量更新的問題
假設我是一個迴圈印出了價格和商品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'

我對這種批次上傳太弱了,第一次接觸
請多包涵

皈依舞
浏览 368回答 2
2回答

泛舟湖上清波郎朗

你的问题似乎用不着数组 <?php if(!empty($_POST)){ foreach ($_POST as $k=>$v){ if(strstr($k, "product_")){ $k = substr($k, strlen("product_")); echo "update product_table set value=$v where id=$k;<br />"; } } exit(); } ?> <form method="post"> <?php $arr= array( array('id'=>1,'value'=>3), array('id'=>2,'value'=>4), array('id'=>3,'value'=>5), ); foreach($arr as $val){ ?> <label>商品:<?=$val['id']?></label><input type="text" value="<?=$val['value']?>" name="product_<?=$val['id']?>" /><br> <?php } ?> <input type="submit" /> </form>

呼啦一阵风

INSERT INTO `user_cart` (`prod_id`, `quan`) VALUES (12, 2), (13, 1), (14, 5) ON DUPLICATE KEY UPDATE `quan` = VALUES(`quan`);
打开App,查看更多内容
随时随地看视频慕课网APP