2013-05-08 2 views
0

У меня есть теги в моем проекте, как переполнение стека.php: как получить одиночное значение из разделенного запятой (,) выделенного массива

Когда я subit несколько тегов из моей формы, и в моем контроллере я получаю это так:

$this->input->post('tags_id') так я получаю 2,3,44,442 в качестве значения для $this->input->post('tags_id') в целом.

Что я хочу - Я хочу, чтобы каждое значение было вставлено в таблицу моих тегов один за другим.

Как я могу получить каждое значение из списка, разделенного запятой, который будет вставлен в мой db? Пожалуйста, помогите мне ...

Я делаю следующее, чтобы вставить в мой дб

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

ответ

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); 
} 
Смежные вопросы