如何使用codeigniter将复选框值传递给数据库?

时间:2014-01-06 13:13:40

标签: php codeigniter

我不知道如何传递值并插入数据库

查看

<div class="form-group">
    <label class="col-sm-4 control-label">Type</label>
    <div class="col-sm-4">
        <div class="checkbox">
        <?php echo form_checkbox('type[]', 'type1'); ?>Type 1
        </div>
        <div class="checkbox">
        <?php echo form_checkbox('type[]', 'type2'); ?>Type 2
        </div>
        <div class="checkbox">
        <?php echo form_checkbox('type[]', 'type3'); ?>Type 3
        </div>
    </div>
</div>

模型视图

$data = array(
        'type' => $this->input->post('type[]')
        );

    $insert = $this->db->insert('parents', $data);
    return $insert;

假设我检查了type1和type2,我发现只有0插入数据库。 我该如何纠正?

2 个答案:

答案 0 :(得分:1)

如果您在单列中以逗号分隔值存储,请将代码更改为:

$type = $this->input->post('type');

$data = array(

        'type' => implode(",", $type);       
 );

但是存储在一列中并不是一个好习惯。这只是暂时的解决方案。你必须存储在单独的表中。

答案 1 :(得分:-1)

查看:

<input type="checkbox" class="checkbox" name="ward[]" value="MALE WARD">MALE WARD<br/>
<input type="checkbox" class="checkbox" name="ward[]" value="FEMALE WARD">FEMALE WARD<br/>
<input type="checkbox" class="checkbox" name="ward[]" value="CHILDREN WARD">CHILDREN WARD<br/>

控制器:

$this->model_name->your_function();

型号:

$variable = serialize($this->input->post('ward'));
$data = array(
     'section' => $variable
     );

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