2013-02-25 4 views
0

codeigniter의 자동차 모델 데이터베이스에서 채워진 드롭 다운 목록이 있습니다.codeigniter의 데이터베이스 드롭 다운 목록에서 항목을 선택하십시오.

사용자가 드롭 다운에서 값 (예 : Lexus, Honda 등)을 선택하면 선택한 제조업체의 자동차 목록이로드됩니다. Hovewer, 아무것도 작동하지 않습니다. 여기에 현재 코드가 있습니다.

//controller 
public function carsPage() { 
    $this->load->model('model_users'); 
    $data3['images'] = $this->model_users->getRow(); 
    $data['tags'] = $this->model_users->get_dropdown_tags(); 
    $newData = array_merge($data, $data3); 
    $this->load->view('cars', $newData); 
} 


//model 
function get_dropdown_tags() { 
    //select distinct car_make from cars 
    $tags = $this->db->query("SELECT distinct car_make from cars"); 
    $dropdowns = $tags->result(); 
    foreach ($dropdowns as $dropdown) 
    { 
     $dropdownlist[$dropdown->car_make] = $dropdown->car_make; 
    } 
    $finaldropdown = $dropdownlist; 
    return $finaldropdown; 
} 
+1

어느 부분, 자동차의 표시, 또는 선택 한 번 데이터의 업데이트를 작동하지 않는 만들어졌다? –

+0

선택이 작동하지 않게되면 내 데이터가 업데이트됩니다. 나는 Honda를 선택한다, honda 차는 나타나지 않을 것이다. 감사. – Masoman

+2

@Masoman, 당신은 차를 전혀로드하지 않으려 고합니다. 전체 양식을 새로 고침하고 자동차를 보여 주거나 (AJAX 요청을하고 응답을 읽고 페이지에 렌더링해야합니다. 두 가지 방법 모두 설명이 길기 때문에 AJAX에 대해 20 분 정도 읽으십시오. 진짜 질문이 있으면 다시 올거야. – J0HN

답변

0

나는 당신이 묻고 싶은 것에 관한 이론을 가지고 있습니다.

컨트롤러 :

public function carsPage() { 

$this->load->model('model_users'); 
$data['images'] = $this->model_users->getRow(); 
$data['tags'] = $this->model_users->get_dropdown_tags(); 
$this->load->view('cars', $data); 
} 

모델 :

public function get_dropdown_tags($car=NULL){ 

    $this->db->select('car_make');  
    $this->db->from('cars'); 
    $this->db->where('car_make', $car); 
    return $this->db->get(); 

} 
+0

카니, 나는 그것이 나에게이 오류를 준다는 것을 시도했다. 알 수없는 '필드 목록'의 'distinct'열 – Masoman

+0

별개라고 알려진 열이있는 경우를 제외하고는 모델이 작동하지 않습니다. '$ this-> db-> distinct();'첫 줄을'$ this-> db-> select ('car_make');로 바꾼다. 그럼에도 불구하고 새로운 줄을로드하지 않는다면 어떤 종류의 완전 새로 고침이나 아약스를 사용합니다. 웹 2.0을 수용 할 때까지 희망을 얻지 마십시오 –

+0

@kiani, 위의 편집을 해주십시오. –

관련 문제