php - 如何在codeigniter中从动态表插入多个数据到mysql

标签 php mysql codeigniter

有人可以帮我吗?
我尝试将多个动态框中的值从 Bootstrap 保存到 MySQL 中?

我尝试了很多建议,但只插入了第一行,添加的表中没有其他数据。似乎循环不起作用。

这是我插入数据的代码之一。

我的观点:

<div class="container">
   <div class="row clearfix">
      <div class="col-md-12 column">
         <table class="table table-bordered table-hover" 
            id="tab_logic">
            <thead>
               <tr >
                  <th class="text-center">
                     Bilangan
                  </th>
                  <th class="text-center">
                     Nama
                  </th>
                  <th class="text-center">
                     Tarikh Lahir
                  </th>
                  <th class="text-center">
                     Tempat Lahir
                  </th>
                  <th class="text-center">
                     Warganegara
                  </th>
               </tr>
            </thead>
            <tbody>
               <tr id='addr0'>
                  <td>
                     1
                  </td>
                  <td>
                     <input type="text" name='nama_siblings[]'  
                        placeholder='Nama' class="form-control"/>
                  </td>
                  <td>
                     <input type="text" name='tarikh_lahir_siblings[]' 
                        placeholder='Tarikh Lahir' class="form-control"/>
                  </td>
                  <td>
                     <input type="text" name='tempat_lahir_siblings[]' 
                        placeholder='Tempat Lahir' class="form-control"/>
                  </td>
                  <td>
                     <input type="text" name='warganegara_siblings[]' 
                        placeholder='Warganegara' class="form-control"/>
                  </td>
               </tr>
               <tr id='addr1'></tr>
            </tbody>
         </table>
      </div>
   </div>
   <tr>
      <td height="100"></td>
   </tr>
   <a id="add_row" class="btn btn-default pull-left">Tambah</a><a id='delete_row' class="pull-right btn btn-default">Buang</a>
</div>
<SCRIPT>
   $(document).ready(function(){
      var i=1;
      $("#add_row").click(function(){
      $('#addr'+i).html("<td>"+ (i+1) +"</td><td><input name='nama_siblings"+i+"' type='text' placeholder='Nama' class='form-control input-md'  /> </td><td><input  name='tarikh_lahir_siblings"+i+"' type='text' placeholder='Tarikh lahir'  class='form-control input-md'></td><td><input  name='tempat_lahir_siblings"+i+"' type='text' placeholder='Tempat Lahir'  class='form-control input-md'></td><td><input  name='warganegara_siblings"+i+"' type='text' placeholder='Warganegara'  class='form-control input-md'></td>");

      $('#tab_logic').append('<tr id="addr'+(i+1)+'"></tr>');
      i++; 
     });
     $("#delete_row").click(function(){
         if(i>1){
         $("#addr"+(i-1)).html('');
         i--;
         }
     });
});

</script>

我的 Controller :

$xsscleanibu_id = $this->security->xss_clean($this->input->post('ibu_id')); 
$xsscleannama_siblings = $this->security->xss_clean($this->input->post('nama_siblings'));   
$xsscleantarikh_lahir_siblings = $this->security->xss_clean($this->input->post('tarikh_lahir_siblings'));   
$xsscleantempat_lahir_siblings = $this->security->xss_clean($this->input->post('tempat_lahir_siblings'));   
$xsscleanwarganegara_siblings = $this->security->xss_clean($this->input->post('warganegara_siblings')); 

foreach($rows as $row){

   $nama_siblings = $nama_siblings[$index];
   $ibu_id = $ibu_id[$index];
   $tarikh_lahir_siblings = $tarikh_lahir_siblings[$index];
   $tempat_lahir_siblings = $tempat_lahir_siblings[$index];
   $warganegara_siblings = $warganegara_siblings[$index];

   $data2 = array(
   'ibu_id'=>$xsscleanibu_id,
   'nama_siblings'=>$row,
   'tarikh_lahir_siblings'=>$xsscleantarikh_lahir_siblings,
   'tempat_lahir_siblings'=>$xsscleantempat_lahir_siblings,
   'warganegara_siblings'=>$xsscleanwarganegara_siblings
   );
   $this->inq_model_dev->insertMonday($data2);
}

   if($row)
   { 
      echo "<script>alert('Data Berjaya disimpan');
window.location = '".base_url('index.php/efast/dashboard_efast')."';</script>";
    }
    else 
    { 
      echo "<script>alert-danger('Data gagal disimpan');window.location = '".base_url('index.php/efast/pendaftaran')."';</script>";
    }

我的模型:

function insertMonday($data2){

     foreach($data as $data2){
        $this->db->insert('data_anak', $data2);
     }
}

最佳答案

当您插入多个数据时,请使用insert_batch codeigniter默认功能。

 function insertMonday($data2){

        foreach($data as $data2){
            $this->db->insert_batch('data_anak', $data2);
        }

    }

关于php - 如何在codeigniter中从动态表插入多个数据到mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55896580/

相关文章:

php - GROUP BY 多个和不同

mysql左连接有2个外键

php - 评级系统: Pulling in average rating

php - 加入 codeigniter 返回多个值

javascript - 通过 javascript 进行 Grocery Crud url 重定向

CodeIgniter Ion_Auth::忘记密码不起作用

php - 如何将这个 PHP 对象数组转换为 json?

php - 这个清理是否有任何 XSS 泄漏?

php - 如何在PHP中安全实现 "Remember me"按钮(持久登录)

php - 24小时后自动删除文件和包含文件的文件夹