我遇到了一個批量更新的問題假設我是一個迴圈印出了價格和商品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 / 213 / 114 / 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'
我對這種批次上傳太弱了,第一次接觸請多包涵
2 回答
![?](http://img1.sycdn.imooc.com/5333a2320001acdd02000200-100-100.jpg)
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
你的问题似乎用不着数组
<?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>
![?](http://img1.sycdn.imooc.com/545862120001766302200220-100-100.jpg)
呼啦一阵风
TA贡献1802条经验 获得超6个赞
INSERT INTO `user_cart` (`prod_id`, `quan`)
VALUES (12, 2),
(13, 1),
(14, 5)
ON DUPLICATE KEY UPDATE `quan` = VALUES(`quan`);
- 2 回答
- 0 关注
- 367 浏览
添加回答
举报
0/150
提交
取消