我在循环中使用SELECT(MAX())
,foreach
这是我的代码:
foreach($_POST['image_Basename'] as $key=>$image_Basename){
$image_Title = $this->input->post('image_Title');
$image_Category_Id = $this->input->post('image_Category_Id');
$this->db->query("INSERT INTO mg_gallery (image_Group_Id, image_title, image_Basename, image_Category_Id)
SELECT 1 + coalesce((SELECT max(image_Group_Id) FROM mg_gallery), 0), '$image_Title', '$image_Basename', '$image_Category_Id'
");
}
问题是对于每个image_Basename
,查询都会产生一个新数字。
例如,如果我得到 3 image_Basenames
,它将为这三个插入 1、2 和 3 image_Basenames
。但我希望它向所有image_Basenames
.
例如,如果 image_Group_Id 中的最大数字为 1,则为每个 image_Basename 添加数字 2。我怎样才能做到这一点?!我放了
SELECT 1 + coalesce((SELECT max(image_Group_Id) FROM mg_gallery
在foreach
循环之外,但它没有工作!!!
答案是我自己在下面添加的