doushizhou4477 2018-06-18 15:39
浏览 46
已采纳

Codeigniter中的多插入

I want to make multiple insert in my database table with a FK, but only enter one line of records, it could be I do not count the $count. Here my code

Model

public function create($table,$data)
    {
    $query = $this->db->insert($table, $data);
     return $this->db->insert_id();
    }

Controller

public function save($id)
    {
    $id_form = $id;
    $id_interversion = $this->model->create('mytable1',$data);
        $Inicio = $_POST['Inicio'];
        $Termino = $_POST['Termino'];
        $id_tecnico = $_POST['id_tecnico'];
        $count = count($_POST['id_tecnico']);
        $data2 =array();
                for ($i=0; $i <$count; $i++) {
                    $data2 = array(
                             'id_tecnico'=>$id_tecnico[$i],
                             'horaInicio'=>$Inicio[$i],
                             'Termino'=>$Termino[$i]
                     );
                 $this->model->create('mytable2',$data2);

                }


}

view

<?php echo form_open("controller/save/{$data->id}"); ?>
      <?php for ($i=0; $i <2; $i++) { ?>
        <input type="text" name="id_tecnico[]"  value="" class="form-control">
        <input type="text" name="Inicio[]"  value="" class="form-control">
        <input type="text" name="Termino[]"  value="" class="form-control">
       <?php } ?>

       <?php echo form_close(); ?>

I hope I explained well greetings

  • 写回答

2条回答 默认 最新

  • duanlu6114 2018-06-18 17:36
    关注

    Try with insert_batch like this :

    public function save($id = NULL)
    {
        $id_form = $id;
        //$id_interversion = $this->model->create('mytable1',$data);
        $id_interversion = 12; // a custom id
        $Inicio = $this->input->post('Inicio');
        $Termino = $this->input->post('Termino');
        $id_tecnico = $this->input->post('id_tecnico');
        foreach ($id_tecnico as $key => $item) 
        {
            $insert_data[] = array(
                    'id_interversion' => $id_interversion,
                    'id_tecnico'=> $item,
                    'horaInicio'=> $Inicio[$key],
                    'Termino'=> $Termino[$key]
                  );
        }
        //print_r($insert_data);die;
        $this->db->insert_batch('mytable2',$insert_data);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 代写uni代码,app唤醒
  • ¥15 全志t113i启动qt应用程序提示internal error
  • ¥15 ensp可以看看嘛.
  • ¥80 51单片机C语言代码解决单片机为AT89C52是清翔单片机
  • ¥60 优博讯DT50高通安卓11系统刷完机自动进去fastboot模式
  • ¥15 minist数字识别
  • ¥15 在安装gym库的pygame时遇到问题,不知道如何解决
  • ¥20 uniapp中的webview 使用的是本地的vue页面,在模拟器上显示无法打开
  • ¥15 网上下载的3DMAX模型,不显示贴图怎么办
  • ¥15 关于#stm32#的问题:寻找一块开发版,作为智能化割草机的控制模块和树莓派主板相连,要求:最低可控制 3 个电机(两个驱动电机,1 个割草电机),其次可以与树莓派主板相连电机照片如下: