为了账号安全,请及时绑定邮箱和手机立即绑定

批量更新到數據庫?

批量更新到數據庫?

PHP
皈依舞 2019-03-12 11:53:19
我遇到了一個批量更新的問題假設我是一個迴圈印出了價格和商品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 回答

?
泛舟湖上清波郎朗

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>

https://img1.sycdn.imooc.com//5c8f40390001f10707760392.jpg

https://img1.sycdn.imooc.com//5c8f403a00016b4108000224.jpg

查看完整回答
反对 回复 2019-03-18
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

INSERT INTO `user_cart` (`prod_id`, `quan`)
VALUES (12, 2),
    (13, 1),
    (14, 5)
ON DUPLICATE KEY UPDATE `quan` = VALUES(`quan`);
查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 367 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信