2013-05-08 86 views
0

我已經在我的項目中應用了標記功能,就像堆棧溢出一樣。php:如何從逗號(,)分隔的數組中獲得單值

當我subit多個標籤從我的形式,並在我的控制器 我得到這樣的:

$this->input->post('tags_id')所以我得到2,3,44,442$this->input->post('tags_id')完全值。

我想要的是我希望將每個值一個一個地插入到我的標籤表中。

我怎樣才能從逗號分隔列表中的每個值插入到我的分貝? 請幫我...

我做下面插入到我的分貝

function entry_insert_instdetails() 
{ 
    $this->load->database();  
    $this->db->trans_begin(); 
    $data=array('instrunction'=> $this->input->post('tags_id'), 
    'creater_id'=>$this->session->userdata('userid'), 
    ); 
    $this->db->insert('instructions',$data); 

    if ($this->db->trans_status() === FALSE) 
    { 
     $this->db->trans_rollback(); 
    } 
    else 
    { 
     $this->db->trans_commit(); 
    } 
} 
+6

檢查很容易做到這一點[爆炸]( http://www.php.net/explode)函數。將字符串拆分成數組。 [str_getcsv](http://php.net/str_getcsv)對具有一些特殊功能的逗號分隔值(csv)也是這樣。 – Imperative 2013-05-08 06:20:15

回答

2

您可以用PHP的爆炸功能

$data = array('instrunction'=> $this->input->post('tags_id'); 

$ids = explode(',',$data); 

unset($data); 

foreach($ids as $id) 
{ 
    $data['tag_id'] = $id; // tag_id is table column 
    $this->db->insert('instructions',$data); 
    unset($data); 
}