2013-12-11 64 views
0

在創建項目中的下拉菜單時遇到問題(錯誤)。 我對codeigniter很陌生。下拉列表中的數據從Codeigniter中的數據庫中檢索

請檢查並告知我的代碼有什麼問題?

型號

Public function get_region() 
{ 
    $return = array(); 
    $query = $this->db->get('region')->result_array(); 
    if(is_array($query) && count($query) > 0){ 
    $return[''] = 'please select'; 
    foreach($query as $row) 
    { 
     $return[$row['id']] = $row['r_e_name']; 
    } 
} 

控制器

public function index() 
{ 
    $this->load->model('country_model'); 
    $data['countries'] = $this->country_model->get(false); 
    $data['page_title'] = "Countries"; 
    $data['return']=$this->country_model->get_region(); 
    $this->template->show('countries', $data); 
} 

查看

<tr> 
    <td> 
     <?php echo form_label('Region Name *', 'r_e_name'); ?> 
    </td> 
    <td> 
     <?php echo form_dropdown('r_e_name', $return);?> 
    </td> 
</tr> 

錯誤

一個PHP錯誤遇到

嚴重性:注意

消息:未定義的變量:返回

文件名:觀點/ countries_add.php

行號:17


PHP Erro值R是遇到

嚴重性:警告

消息:()提供的foreach無效參數

文件名:助手/ form_helper.php

行號:331

回答

1

模型

function get_country() { 
    $return[''] = 'please select'; 
    $this->db->order_by('c_e_name', 'asc'); 
    $query = $this->db->get('country'); 
    foreach($query->result_array() as $row){ 
     $return[$row['id']] = $row['c_e_name']; 
    } 
    return $return; 
} 

function get_region(){ 
    $return[''] = 'please select'; 
    $query = $this->db->get('region'); 
    foreach($query->result_array() as $row){ 
     $return[$row['id']] = $row['r_e_name']; 
    } 
    return $return; 
} 

控制器

public function index() 
{ 
    $this->load->model('country_model'); 
    $data['country'] = $this->country_model->get_country(); 
    $data['region'] = $this->country_model->get_region(); 
    $data['page_title'] = "Countries"; 
    $this->template->show('countries', $data); 
} 

查看

<tr> 
    <td><?php echo form_label('Country *', 'c_e_name'); ?></td> 
    <td><?php echo form_dropdown('c_e_name', $country);?></td> 
</tr> 
<tr> 
    <td><?php echo form_label('Region Name *', 'r_e_name'); ?></td> 
    <td><?php echo form_dropdown('r_e_name', $region);?></td> 
</tr> 
+0

即使當我添加「return $ return;」時,同樣的錯誤再次顯示。 – Rurouni

+0

我已經更新了我的回答,請參見上面,感謝.. –

+0

只有一個錯誤發生foreach循環 一個PHP錯誤遇到 嚴重性:警告 消息:的foreach提供了無效的參數() 文件名:助手/ form_helper。php 行號:331 – Rurouni

0

您還沒有返回的結果從模型中設置。只要把

return $return; 

功能get_region結束()模型。

+0

即使當我添加「return $ return;」時,同樣的錯誤再次顯示。 – Rurouni

+0

嘗試更改您的變量名稱,因爲返回是保留字 – user2936213

相關問題