2012-01-16 5 views
7

에 기본 값을 추가하면 누군가가 나를 도울 수 있다면. 나는 데이터베이스에서 옵션을 채우는 form_dropdown을가집니다. 목록의 맨 위에 기본 "선택하십시오"값을 추가하고 싶지만 데이터베이스에 추가하지 않고이를 수행하는 방법을 알아낼 수 없습니다. 다음과 같이CodeIgniter는 - 궁금 해요 form_dropdown

내 코드는 다음과 같습니다 당신이 그것을 반환하기 전에

답변

11

작성하는 또 다른 방법이 될 것이다 다음 form_dropdown의 FUNC에

$form .= '<option value =0 >...</option>'; 

:

function populatedropdown() 
{ 
    $query = $this->db->query('SELECT * FROM '.$this->table_name.' WHERE active=1 ORDER BY brand'); 

    if ($query->num_rows() > 0) { 
     $dropdowns = $query->result(); 

     $dropDownList[''] = 'Please Select'; // default selection item 
     foreach($dropdowns as $dropdown) { 
      $dropDownList[$dropdown->brand] = $dropdown->brand; 
     } 

     return $dropDownList; 
    } else { 
     return false;  // return false if no items for dropdown 
    } 
} 
+2

:-) 내 사이트에 그것을 할 방법이다. 즉,'$ dropDownList [ ''] = '선택하십시오';'원하지 않는 한 ..? –

+0

@Madmartigan, 감사합니다, 행 번호 확인을 포함하도록 내 대답도 업데이트되었습니다. – Jakub

+0

'result()'는 항상 배열을 반환하므로 필요 없습니다. 그것은 무의미합니다. false를 반환하면 배열을 반환해야하는 함수에 대해서는 좋은 생각이 아니므로 빈 배열이 더 적절할 수 있습니다. 그래서 +1과 -1 : / –

7

그냥 배열에 추가합니다.

function populatedropdown() 
{ 
    $query = $this->db->query('SELECT * FROM '.$this->table_name.' WHERE active=1 ORDER BY brand'); 
    $dropdowns = $query->result(); 

    foreach($dropdowns as $dropdown) { 
     $dropDownList[$dropdown->brand] = $dropdown->brand; 
    } 
    $finalDropDown = array_merge(array('' => 'Please Select'), $dropDownList); 

    return $finalDropDown; 
} 
+0

한'$ DropDownList로 = 배열 ​​(''=> '를 선택하세요'), 아직 – Jakub

+1

더 나은 그것을 정의하는 가장 쉬운 방법은,'첫 번째 경우에 어떤 DB 결과가 없습니다. 플러스 기능을 호출하지의 작은 작은 부스트. –

+0

일 - 또한, 단지 (필요한 경우) 선택을 데이터베이스에서 빈 결과를 유지하고 강제로 검증을 사용합니다. – swatkins

0

form_helper.php을 변경하고 뭔가를 추가 할 수있는 가능성도 있습니다 . 그러나 기본적으로 선택되지는 않지만 양식의 두 번째 항목이됩니다.

는하지만 문제는 일반적으로 아래로 안 핵심 파일을 변경할 수 있다는 것입니다.