2015-04-06 92 views
0

我正在使用選擇下拉列表中的多個選擇,我想將其存儲在數據庫中。implode爆炸codeigniter中的數據

我聽說過內爆爆炸,但我不知道如何使用它們。請給我一個想法如何在codeigniter中爆炸和爆炸。

我的HTML表單:

<div class="form-group"> 
    <label> 
     Please Select Proof Of ID Deposit 
    </label> 
    <select multiple="" name="oids" class="js-example-basic-multiple js-states form-control"> 
     <optgroup> 
      <option value="Passport">Passport</option> 
      <option value="National ID Card">National ID Card</option> 
      <option value="Driving Licence">Driving Licence</option> 
      <option value="Univesity ID">Univesity ID</option> 
     </optgroup> 
    </select> 
</div> 

我的控制器:

public function customer_insert(){ 
    $data = array(
     'id'=>$this->input->post('up_id'), 
     'Other_id'=>$this->input->post('oids') //here I want to implode my values 
    ) 
    $this->db->insert('customer', $data); 
} 

查看文件:

<table> 
    <thead> 
     <tr><td>ID</td></tr> 
     <tr><td>Other ID</td></tr> 
    </thead> 
<?php foreach ($query as $customer){?> 
    <tr><td><?php echo $customer->id?></td></tr> 
    <tr><td><?php echo $customer->Other_id?></td></tr> // I want to show my imploded value here. 
<?php}?> 
</table> 
+0

您應該將ID存儲中 - OID組合在一個單獨的表。這樣你可以在將來搜索和過濾。 – jeroen

+0

好的,我可以保存,但我的主要問題是我想保存多個值在我的數據庫中的一列,並顯示他們在視圖中...我怎麼能實現? –

回答

0

可以使用implode功能的加入數組元素用繩子和explode功能通過字符串拆分字符串。在這種情況下,你可以像這樣使用它們。

public function customer_insert() { 
    // Convert array to comma separated value 
    $oidString = implode(",", $this->input->post('oids')); 
    $data = array(
     'id'=> $this->input->post('up_id'), 
     'Other_id'=> $oidString //here I want to implode my values 
    ) 
    $this->db->insert('customer', $data); 
} 

如果你想從逗號分隔值中取回數組,你可以使用explode

// Convert comma separated value to array 
$otherId = explode(",", $customer->Other_id); 

希望它對您有用。

3

首先你HTML表單內你需要一個陣列,以改變name ATTR值,除非它不會選擇值的數組

<select multiple="" name="oids" class="js-example-basic-multiple js-states form-control"> 

必須像

<select multiple="" name="oids[]" class="js-example-basic-multiple js-states form-control"> 

而且在您的控制器功能

public function customer_insert() { 

    $oidVal = implode(",", $this->input->post('oids'));// Converted array into comma separated value using implode 

    $data = array(
     'id'=> $this->input->post('up_id'), 
     'Other_id'=> $oidVal 
    ) 
    $this->db->insert('customer', $data); 
} 

和你查看文件

<table> 
    <thead> 
     <tr><td>ID</td></tr> 
     <tr><td>Other ID</td></tr> 
    </thead> 
<?php foreach ($query as $key => $value) { ?> 
    <tr><td><?php echo $value['id']; ?></td></tr> 
    <tr><td><?php echo explode(',',$value['Other_id']);?></td></tr> // exploded value 
<?php } ?> 
</table> 
+0

這將爲你工作.. –

+0

thanx其工作就像一個神奇的:) –

+0

然後接受它作爲一個答案,所以這必須被視爲封閉的問題。 –