如何在编码器中使用具有相同名称的多个输入插入数据


How To Insert Data Using Multiple Input With Same Name in codeigniter

我正在使用JavaScript会产生以下条目

<input type="hidden" name="my_img[]" value="dad6e52b274690409835.jpg">
<input type="hidden" name="my_img[]" value="252529b6e21f872c7675.jpg">
<input type="hidden" name="my_img[]" value="3cce4128c366216fsfaf.jpg">
<input type="hidden" name="my_img[]" value="48697e8516caa3cc15d4.jpg">

但是我在将它们插入数据库中时遇到了麻烦

我的控制器 :

   $dd=$this->input->post('my_img');
   for($i=0;$i<count($dd);$i++)
   {
   $img_box[$i] = array ('img_url' => $dd[$i]);
   }
   $this->posts_model->add_new_ads_img($img_box);

我的模型 :

public function add_new_ads_img($img_box)
{
    $q = $this->db->insert('advertise_gallery',$img_box);
    if ($q)
    {
        return TRUE;
    }
    else return FALSE;
}

和吃错误

严重性:通知

消息:未定义的变量:img_box

请指导我

错误可能是控制器中的以下行:

$img_box[$i] = array ('img_url' => $dd[$i]);

在 for 循环添加之前:

$img_box = [];

根据我认为您要做的事情,您可以尝试为每个输入提供不同的 id。这样,您就可以根据 ID 名称进行插入。

对于考试:

    <input type="hidden" name="my_img[]" id="img1" value="dad6e52b274690409835.jpg">
<input type="hidden" name="my_img[]" id = "img2" value="252529b6e21f872c7675.jpg">
<input type="hidden" name="my_img[]" id = "img3" value="3cce4128c366216fsfaf.jpg">
<input type="hidden" name="my_img[]" id = "img4" value="48697e8516caa3cc15d4.jpg">

如果需要将它们添加到数组中,可以在 Java 脚本中执行此操作

var img=[$('#img1').val(),$('#img2').val(),$('#img3').val()]

希望这有帮助