Codeigniter将数组插入数据库

时间:2016-01-27 12:11:39

标签: php arrays codeigniter

我目前正在制作一个注册表单,你可以单独注册或由许多我需要一种方法如何使多个寄存器工作我不能将输入添加到db我得到一个数组到字符串转换错误 我还没有这个模型

我的代码是 控制器

<html>
<head>
</head> 
<body>  
    <form class="form" action="<?php echo base_url() . 'user/registerbatch'; ?>" method="post" class="form-horizontal" role="form">


        <?php for ($i = 0; $i < $num; $i++): ?>
        <br>
        Surname: <input type="text" name="surname[]">
        <br>
        Name: <input type="text" name="firstname[]">
        <br>
        Age:<input type ="int" name ="age[]">
        <br>
        School: <input type="text" readonly value="<?= $school ?>" name="school[]">
        <br>
        Course:<input type ="text" name ="course[]">
        <br>
        Email:<input type ="text" name ="email[]">
        <br>
        <br>


    <?php endfor ?>
   <button type="submit" class="btn btn-success">Register</button>


</body>
</html> 

视图:

num_files

2 个答案:

答案 0 :(得分:4)

请尝试以下编码....

  if ($this->form_validation->run() == TRUE) {

  extract($_POST);

  foreach($surname as $key=>$value) {

                $reg_dat = array(

                    'surname'   => $value,
                    'name'      => $firstname[$key],
                    'age'       => $age[$key],
                    'school'    => $school[$key],
                    'course'    => $course[$key],
                    'email'     => $email[$key],

                );
             $this->user_model->add_user($reg_dat);

}

}

$this->load->view('user/home_view');

答案 1 :(得分:0)

似乎你的帖子可以是一个多维数组。我认为解决问题的最佳方法是预先发布帖子并插入每一行

       //your controller
       if ($this->form_validation->run() == TRUE) {
           $reg_dat_multi = $this->input->post(); 
           foreach  ($reg_dat_multi as $reg_dat) {
               $this->user_model->add_user($reg_dat);
            }
       );

你没有展示你的模型,但我们认为这就是这样的

    //your model
    function add_user($reg_dat){
        if ( $this->db->insert('table', $reg_dat) ){
            return true;
        }
        return false; 
    }

希望有所帮助