2013-12-11 3 views
0

내 프로젝트에서 드롭 다운을 만들 때 문제 (오류)가 발생합니다. 저는 codeigniter를 처음 사용합니다.드롭 다운 목록의 데이터 Codeigniter의 DB에서 검색

내 코드가 잘못되었는지 확인하고 조언 해주십시오.

모델

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는 오류가

심각도 발생했습니다 :

메시지주의 : 정의되지 않은 변수 : 17

:

파일 이름 반환 :

줄 번호를 조회/countries_add.php


A PHP 오류 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

는 PHP는 오류가 심각도 발생했습니다 감사합니다 .. –

+0

단 하나의 오류 foreach는 루프를 발생, 위 참조하시기 바랍니다 : 경고 메시지 : foreach는 위해 공급 잘못된 인수() 파일 이름 : 도우미/form_helper.PHP 줄 번호 : 331 – Rurouni

0

보기. 그냥 모델에 기능 get_region의 끝에서()

return $return; 

을 넣어.

+0

"return $ return;"을 추가해도 같은 오류가 다시 나타납니다. – Rurouni

+0

return은 예약어이므로 변수 이름을 변경하십시오. – user2936213