2014-01-06 111 views
0

我不知道如何傳遞的價值觀和插入到數據庫如何使用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被插入到數據庫中。 我該如何糾正它?

+0

首先,你不應該直接在模型中使用後的數據。在將其傳遞給模型之前,您必須在控制器中準備數據。 –

+0

您將從類型中獲取多個值。你怎麼存儲在數據庫?在子表中? –

+0

僅限於一列 – Barry

回答

1

如果你是存儲在單個列逗號分隔值,然後改變你的代碼爲:

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

$data = array(

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

但存儲一列是不是好的做法。這只是臨時解決方案。你必須存儲在單獨的表格中。

-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); 
相關問題