Codeigniter 将多个输入字段动态插入到数据库中?
Posted
技术标签:
【中文标题】Codeigniter 将多个输入字段动态插入到数据库中?【英文标题】:Codeigniter insert dynamically multiple input fields into the database? 【发布时间】:2021-01-23 08:14:03 【问题描述】:我正在开发一个小型 Web 应用程序,我想使用 Codeigniter 将多个动态字段值插入数据库,无法将 addmore
和 type
字段值插入数据库?我想在数据库中插入单个或多个值?
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 将多个输入字段动态插入到数据库中?的主要内容,如果未能解决你的问题,请参考以下文章
使用 javascript (codeigniter) 以动态形式将 PHP 导入数据库