php - 如何使用codeigniter将多个复选框值插入数据库
问题描述
我创建了一个用于查询客户、类别和子类别的联系表格我是使用复选框创建的,它是手风琴功能的格式,子功能是复选框,我使用插入查询来存储数据库,但我可以'不插入带有子特征的近似特征。这里有三个表,例如'iv_mail'、iv_mail_features'、'iv_mail_subfeatures`。显示在代码下方
$data=array('name'=>$this->input->post('sendname'),
'lastname'=>$this->input->post('sendlname'),
'mobile'=>$this->input->post('sendphone'),
'location'=>$this->input->post('sendlocation'));
$this->db->insert('iv_mail',$data);
$insert_id=$this->db->insert_id();
foreach($this->input->post('features') as $feature){
$data=array('mail_id'=>$insert_id,
'featurename'=> $feature);
$this->db->insert('iv_mail_features',$data);
$sub_id=$this->db->insert_id();
foreach($this->input->post('sub_feature') as $subfeature){
$data=array('feature_id'=>$sub_id,
'subfeaturename'=> $subfeature);
$this->db->insert('iv_mail_subfeatures',$data);
}
}
在这里我使用了 insert_id,任何人都可以帮助我
解决方案
您必须将所有复选框命名为这样的数组。
<input type="checkbox" name="checkbox[]" value="add"><hr>
<input type="checkbox" name="checkbox[]" value="edit"><hr>
<input type="checkbox" name="checkbox[]" value="update"><hr>
<input type="checkbox" name="checkbox[]" value="delete">
那么在你的函数中必须是这样的
$inputnum = count($this->input->post('checkbox'));
for ($i=0;$i < $inputnum; $i++) {
echo $this->input->post('checkbox')[$i].'<hr>';
}
您可以根据需要更改代码。
json
此外,您可以像这样在一列中添加所有功能
$inputnum = count($this->input->post('checkbox'));
for ($i=0;$i < $inputnum; $i++) {
$checkbox[] = $this->input->post('checkbox')[$i].'<hr>';
}
json_encode($checkbox);
推荐阅读
- python - Jupyter 实验室:为什么单行变量不生成输出?
- asp.net-core - Asp.Net Core 2.1 在 Head 标签之间使用 ViewComponents 动态获取元数据
- c++ - Windows FileOpenDialog 返回错误的路径
- python - 如何从二进制字符串创建 PDF?
- python - 使用时间序列预测系列中的下一个事件
- node.js - 如何在存储上创建具有完全读/写管理员权限的 Firebase Cloud 功能?
- sql - T-SQL:检查表中是否存在数据
- node.js - webpack 不会投入生产。默认为开发
- omnet++ - OMNeT++:Uavsim Simulation 无法运行
- c# - C#如何打开网页,识别元素,输入数据并等待下一页?