Codeigniter 将多个输入字段动态插入到数据库中?

Posted

技术标签:

【中文标题】Codeigniter 将多个输入字段动态插入到数据库中?【英文标题】:Codeigniter insert dynamically multiple input fields into the database? 【发布时间】:2021-01-23 08:14:03 【问题描述】:

我正在开发一个小型 Web 应用程序,我想使用 Codeigniter 将多个动态字段值插入数据库,无法将 addmoretype 字段值插入数据库?我想在数据库中插入单个或多个值?

HTML

     <form name="add_name" method="POST" action="AddMoreController/storePost">

        <div class="table-responsive">  
            <table class="table table-bordered" id="dynamic_field">  
                <tr>  
                    <td><input type="text" name="addmore[]" placeholder="Enter your Name" class="form-control name_list" required="" /></td>

                </tr>
                <tr>
                    <td><input type="text" name="type[]" placeholder="Enter your Name" class="form-control name_list" required="" /></td>
                    <td><button type="button" name="add" id="add" class="btn btn-success">Add More</button></td>
                </tr>

            </table>
            <input type="submit" name="submit" id="submit" class="btn btn-info" value="Submit" />  
        </div>


     </form>

jQuery

    $(document).ready(function()      
  var i=1;  


  $('#add').click(function()
       i++;
       $('#dynamic_field').append('<tr id="row'+i+'" class="dynamic-added"><td><input type="text" name="addmore[]" placeholder="Enter your Name" class="form-control name_list" required /></td></tr><tr id="row'+i+'" class="dynamic-added"><td><input type="text" name="type[]" placeholder="Enter your Name" class="form-control name_list" required /></td><td><button type="button" name="remove" id="'+i+'" class="btn btn-danger btn_remove">X</button></td></tr>');
  );


  $(document).on('click', '.btn_remove', function()  
       var button_id = $(this).attr("id");   
       $('#row'+button_id+'').remove();  
  );  


); 

控制器

public function storePost()
 
    $nameArr = $_POST['addmore'];
    $emailArr = $_POST['type'];
    if(!empty($nameArr))
        for($i = 0; $i < count($nameArr); $i++)
            if(!empty($nameArr[$i]))
                $data['name'] = $nameArr[$i];
                $data['type'] = $emailArr[$i];

                $this->db->insert('tagslist',$data);
            
        
    

   print_r('Record Added Successfully.');

【问题讨论】:

你遇到了什么问题? 输入字段中的addmore[][name]type[][name] 是什么? @KUMAR 无法将值存储到数据库中? 你的问题能解决吗? @KUMAR 谢谢问​​题现在解决了 【参考方案1】:

更改您的控制器代码:-

    public function storePost()
    
    $nameArr = $_POST['addmore'];
    $emailArr = $_POST['type'];
    if(!empty($nameArr))
        for($i = 0; $i < count($nameArr); $i++)
            if(!empty($nameArr[$i]))
                $data = array(
                    'col_name' => $nameArr[$i],
                    'col_name' => $emailArr[$i]);

                $this->db->insert('tagslist',$data);
            
        
    

   print_r('Record Added Successfully.');

【讨论】:

以上是关于Codeigniter 将多个输入字段动态插入到数据库中?的主要内容,如果未能解决你的问题,请参考以下文章

Codeigniter - 上传多个文件,只有一个输入字段

使用 codeigniter 创建基于级别的动态菜单

使用 javascript (codeigniter) 以动态形式将 PHP 导入数据库

CodeIgniter Json Ajax数据库插入不起作用

如何在 CodeIgniter 中检查多个值是不是唯一

无法将变量从控制器传递到模型以处理codeigniter中的多个上载字段