여러 개의 드롭 다운 상자에서 여러 값을 보유하고있는 여러 선택된 배열에서 많은 시간을 보냈습니다. 원하는 값을 표에 삽입하는 것이 좋습니다. 나는 (> 입력 -> 포스트 ('카테고리') $ this-)`에서 print_r 때Codeigniter 데이터베이스에 선택된 여러 값을 삽입하십시오.
하자가 나는, 그 테이블로 때 삽입 그러나
Array ([0] => 1 [1] => 2 [2] => 2)
을 표시, 드롭 다운 상자에서
1,2,3
선택되었습니다 말의 3 개의 값 모두 대신 마지막 값만 삽입됩니다. 나는이 유효 검증, :에 삽입 할
$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.
}
}
모델 검증과 경우에 값을 전달
$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>
컨트롤러에서 :
여기에 몇 가지 값을 선택 보기입니다 표 :
function save_listing($category)
{
$data = array(
'category_id' => $category
);
$this->db->insert('listing', $data);
return TRUE;
}
모든 값 (배열)을 컨트롤러 $this->form_validation->set_value('category[]')
에 전달한 다음 모델 기능 save_listing()
을 수행하고 모든 값을 데이터베이스의 해당 열에 저장하는 방법을 모르겠습니다.
제 문제를 해결하는 데 도움을주십시오. 많은 포럼을 통해 찾아 보았지만 해결 방법은 없습니다.
감사합니다. 당신의 분야가 배열 인 경우