如何使用Codeigniter将多个复选框值插入数据库

时间:2018-11-07 12:28:06

标签: php mysql codeigniter

我创建了一个联系表格来查询客户,类别和子类别,这是使用复选框创建的,这是手风琴的格式 feature和subfeature是复选框,我正在使用插入查询来存储数据库,但是无法插入带有subfeatures的近似特征。 这里有三个表,例如“ 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,任何人都可以帮助我

1 个答案:

答案 0 :(得分:0)

您必须将所有复选框命名为这样的数组。

<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);