如果商品 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/