2013-02-25 45 views
0

我有一個從codeigniter中的汽車模型數據庫填充的下拉列表。在codeigniter中的數據庫下拉列表中選擇一個項目

當用戶選擇下拉列表中的值時(例如雷克薩斯,本田等),所選製造商的汽車列表應加載。 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

什麼部分是不工作,汽車的展示,或者您的數據一次選擇的更新? – 2013-02-25 15:59:55

+0

一旦選擇無效,我的數據更新。我選擇本田,本田汽車不會出現。謝謝。 – Masoman 2013-02-25 16:02:40

+2

@Masoman,你根本沒有嘗試加載汽車。您應該重新載入整個表單並顯示汽車(好的「web 1.0」方式 - **不推薦**),或者發出AJAX請求,讀取它的響應並將其呈現在頁面上。這兩種方式都需要很長時間來解釋,所以請花20分鐘閱讀關於AJAX的內容。如果你有真正的問題,請回來。 – J0HN 2013-02-25 16:06:53

回答

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

Kani,我試過它給了我這個錯誤。 「字段列表」中的未知列「distinct」 – Masoman 2013-02-25 22:05:09

+0

除非您有一列稱爲distinct,否則該模型將無法工作。首先添加這一行'$ this-> db-> distinct();'將第一行改爲'$ this-> db-> select('car_make');'儘管如此,它不會加載新的下拉列表,除非你使用某種完全刷新或ajax。不要讓你的希望,直到你擁抱web 2.0 – 2013-02-25 23:03:45

+0

@kiani,請上面我編輯,謝謝 – 2013-02-25 23:10:35

相關問題