如果商品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);
}
}
答案 0 :(得分:3)
跳过所有代码并使用简单的ON DUPLICATE KEY ...
结构:
INSERT INTO yourtable (id, quantity) VALUES ($id, $quantity)
ON DUPLICATE KEY UPDATE quantity=quantity+VALUES(quantity)