私はループ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
、それらの 3 に対して 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
うまくいきませんでした!!!
答えは自分で以下に追加します