php - 我想插入和更新特定项目 ID 的数量

标签 php javascript jquery mysql codeigniter

如果商品 ID 已经存在,则数量应与进货数量相加,否则如果 ID 不存在,则插入 ID 和数量

我的表:

if  
item_id=array(24,25);

quantity=array(10,2);

这将被插入到表中:

else if 

item_id=array(22,23);
quantity=array(2,4);

数量必须添加到现有项目

自动识别 |项目编号 |数量

 1        22         12   
 2        23         3

这是项目 ID 和数量的数组类型。抱歉我的英语不好,谢谢,

foreach($item_id as $row => $id){

        $items_id = $id;
            foreach($quantity as $row => $id2){
            $qty = $id2;
                $values[] = array(
                        array("item_id" => $items_id,
                        "quantity" => $qty));
                $sql = $this->db->query("SELECT ip_id FROM my_table WHERE item_id = '".$items_id."'");      
                if($sql->num_rows() > 0){

                    $this->db->query("UPDATE my_table SET quantity=quantity+'".$qty."' WHERE item_id='".$items_id."'");
                }else{    
                    $this->db->insert_batch('my_table',$values);
                }
            }

最佳答案

跳过所有这些代码并使用一个简单的 ON DUPLICATE KEY ...构造:

INSERT INTO yourtable (id, quantity) VALUES ($id, $quantity)
ON DUPLICATE KEY UPDATE quantity=quantity+VALUES(quantity)

关于php - 我想插入和更新特定项目 ID 的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15816345/

相关文章:

php - PHP Twitter API 中的“无法获取本地颁发者证书”

javascript - 以编程方式创建 HTML 列表并在单击时显示子元素

jquery - 将用户名和密码发送到身份验证服务器时应考虑哪些最佳实践?

javascript - Codepen jquery 代码工作正常但是当我将它移到我的 wordpress 网站时它不再工作

php - MySQL:以多个ID的形式传递单行ID

php - 循环直到用 PHP 返回 true

php - 在 Woocommerce 单个产品页面上显示 dokan 供应商名称

javascript - 将 CSV 数据映射到新结构

javascript - 在页面加载期间使用 pubnub 和 jquery/javascript 更新 servlet 的值

javascript - 从不同页面重定向到特定部分