我想插入并更新特定项目ID的数量

时间:2013-04-04 16:12:24

标签: php javascript jquery mysql codeigniter

如果商品ID已经存在,那么数量应该与传入的数量相加,否则如果id不存在则插入id和数量

my_table:

if  
item_id=array(24,25);

quantity=array(10,2);

这将插入表格中:

else if 

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

必须将数量添加到现有项目

auto_id | item_id |量

 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);
                }
            }

1 个答案:

答案 0 :(得分:3)

跳过所有代码并使用简单的ON DUPLICATE KEY ...结构:

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