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

时间:2016-02-19 15:27:18

标签: javascript php 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

请指导我

2 个答案:

答案 0 :(得分:3)

错误可能是您控制器中的这一行:

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

在你的for-loop之前添加:

$img_box = [];

答案 1 :(得分:0)

根据我的想法,您可以尝试为每个输入提供不同的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()]

希望这有帮助