codeigniter multiple inputs in table

你。 提交于 2019-12-25 07:08:59

问题


i have 2 inputs with same name this is my view

                  <input type="text" class="form-control" name="serv[]" >
              <input type="text" class="form-control" name="serv[]" >
        <input type="hidden" id="dr_id" name="d_id">

my controller function is

public function submit_2()
{

        $data = array(
            'service_name' => $this->input->post('serv'),
            'dr_id' => $this->input->post('d_id'),
            );
        $this->insert_model->service_insert($data);}

my model is

 function service_insert($data){
   $this->db->insert('services', $data);  
}    

i am getting error

what i want i want this result.


回答1:


$arr = $this->input->post('serv'); //it will contain value in arrray format
foreach($arr as $k=>$v)
{
    $data = array(
            'service_name' => $v,
            'dr_id' => $this->input->post('d_id'),
            );
        $this->insert_model->service_insert($data);
}



回答2:


Use insert_batch()

public function submit_2()
{
    $services = $this->input->post('serv');
    $data = [];
    foreach($services as $service)
    {
        $data[] = array(
        'service_name' => $service,
        'dr_id' => $this->input->post('d_id'),
        );

     }
        $this->insert_model->service_insert($data);
 }

Your Model

function service_insert($data){
   $this->db->insert_batch('services', $data);  
}   



回答3:


You can use below code in controller

    $servData = $this->input->post('serv');
    if(is_array($servData))
    {
        foreach ($servData as $serv)
        {
            if(!empty($serv))
            {
                $data[] = array(
                    'service_name' => $serv,
                    'dr_id' => $this->input->post('d_id'),
                );
            }
        }
    }
    $this->insert_model->service_insert($data);


来源:https://stackoverflow.com/questions/36593713/codeigniter-multiple-inputs-in-table

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!