Я провел много времени в этом многократном выделенном массиве, который удерживает несколько значений в нескольких раскрывающихся списках, и я хочу вставить выбранные значения в таблицу.Codeigniter вставляет несколько выбранных значений в базу данных
Пусть говорят, я был выбран 1,2,3
из выпадающего списка, когда я print_r ($ this-> вход-> пост ('категория')) `, его показали
Array ([0] => 1 [1] => 2 [2] => 2)
Однако когда вставка в таблицу, ее только последнее значение вставляется вместо всех трех значений.
Вот Посмотреть выбрать несколько значений:
$category = array(
'name' => 'category',
'id' => 'category'
);
<select name="category[]" id="<?php echo $category['id'] ?>" multiple="multiple">
<?php
foreach($catOpts as $catOpt)
{
$selected = ($this->input->post('category')==$catOpt->category_name) ? 'selected' : '';
echo '<option value="'.$catOpt->category_id.'" '.$selected.'>'.$catOpt->category_name.'</option>';
}
?>
</select>
In Controller я передавать значения проверки и, если проверка действительного ,:
$this->form_validation->set_rules('category[]', 'Category', 'required');
if($this->form_validation->run()) { // validation ok
if(!is_null($data = $this->db_model->save_listing(
$this->form_validation->set_value('category[]')
))) { // success
//some message to acknowledge success created.
}
}
Модель для вставки в стол:
function save_listing($category)
{
$data = array(
'category_id' => $category
);
$this->db->insert('listing', $data);
return TRUE;
}
Я не знаю, как передать все значения (массив) в контроллер $this->form_validation->set_value('category[]')
, а затем выполнить функцию модели save_listing()
и сохранить все значения в своем столбце в базе данных.
Пожалуйста, помогите решить мою проблему, и я просматривал много форумов, но не смог получить решение.
Спасибо.