2010-12-02 4 views
5

임에서 올바른 값을 선택 form_dropdown .... 내 응용 프로그램은 사용자가 간다 양식을 입력하고 제출,이 개 부분입니다 .... 한번 제출 된 관리자는 그 사람의 양식을 편집하여 데이터베이스에 저장할 수 있습니다.코드 점화는 - CodeIgniter의에서 form_dropdown 기능을 몇 가지 문제가 데이터베이스

그래서, (데이터베이스에서 오는 드롭 다운에서 모든 옵션) 초기 형태의 드롭 다운, 다음을 사용하여 메신저를 표시

모델 : 컨트롤러에서 다음

function get_salaries_dropdown() 
{ 
    $this->db->from($this->table_name); 
    $this->db->order_by('id'); 
    $result = $this->db->get(); 
    $return = array(); 
    if($result->num_rows() > 0){ 
      $return[''] = 'please select'; 
     foreach($result->result_array() as $row){ 
      $return[$row['id']] = $row['salaryrange']; 
     } 
    } 
    return $return; 
} 

: 그런 다음

$data['salaries'] = $this->salary_expectation->get_salaries_dropdown(); 

마지막으로보기 :

<?php echo form_dropdown('salaries', $salaries, set_value('salaries', $salaries)); ?> 

그 비트는 사용자가 선택하는 값 가득 드롭 다운 표시에 완벽하게 작동합니다. 사용자가 값을 선택할 때

그래서, 다음, 저장 명중의 데이터베이스에 저장.

관리자가 볼 수있는 편집 페이지에서 옵션으로 채워진 드롭 다운을 표시하는 데 동일한 코드를 사용하고 있지만 처음 단계에서 사용자가 선택한 것을 자동으로 선택하려면 어떻게해야합니까?

건배

+0

: 변수를 전달하는 것은 다음과 같은 코드를 작성 (컨트롤러) $의 ind_post 같다 세 번째 매개 변수에는 선택하고자하는 값이 포함됩니다.'세 번째 매개 변수에서 사용하는이'set_value' 메쏘드는 무엇입니까? – vikmalhotra

+0

이 codeigniter 솔루션은 https://github.com/thiswolf/codeigniter-enum-select-boxes에 있습니다. –

답변

3

를 CodeIgniter의 문서에 따르면

는 첫 번째 매개 변수는 필드의 이름, 두번째 매개 변수는 옵션의 연관 배열, 세 번째가 포함됩니다 매개 변수는 선택 받기를 원하시면 값을 포함합니다. 또한 세 번째 매개 변수를 통해 에게 여러 항목의 배열을 넘겨 주면, 이그나이터는 당신을 위해 여러 선택을 만듭니다.

귀하의 관리 컨트롤러는 이에 따라

$data['selected'] = $this->salary_expectation->get_salary_selected(); 

같은 것을해야한다, 관리자 뷰에 의해 생성 된 <select><option> 요소를 선택하려면이

<?php echo form_dropdown('salaries', $salaries, $selected_value); ?> 
0

form_dropdown 함수는 선택된 옵션에 대한 세번째 파라미터를 갖는다. 이처럼 사용

<?php echo form_dropdown('piece_type', 
     array(
      'type1' => 'Firts type', 
      'type2' => 'Second option' 
      $selected_value, 
      'id = "piece_type"') ?> 
1

하나 불쾌한 솔루션을 같이해야한다 form_dropdown() form_helper의 기능은 post 입력을 사용 중입니다. 나는이 만든 나는 사용자가 set_selected도 set_vaule도 형태로 선택하는 것이 값을 표시하지 않습니다 발견 된 솔루션 때문이다. 글쎄, 내 컨트롤러에서 나는이 내 관점에서

$countries = $this->country_model->get_dropdown_array(); // The array have something like $countries[COUNTRY_ID] = COUNTRY_NAME 
$data['countries']=$countries; 

:

$selected_country = $this->input->post('country'); 
echo form_dropdown('country',$countries,$selected_country); 

그리고 잘 작동! :)

0

나는 동일한 문제가 있었지만 코드 점화기 신텍스를 사용하여이 문제를 극복했습니다. 여기 해결책이 있습니다. 루프 전에 Fisrt 단계 그런 다음 루프에서이 명령

foreach($result->result_array() as $row) 
{ 
    /////////Your Condition //////////// 
    if($row['id'] == $myarray['mycolumn']) 
    {    
     $options [$row['id']] = $row['salaryrange']; 
     $select = $row['id'] ; 
    }else{ 
     $options [$row['id']] = $row['salaryrange']; 
    } 
} 
이제

echo form_dropdown('dropdown_name' , $options , $select); 

그것은 업데이트 사례를 들어 확인

0

노력을 쓰기 두 배열

$options = array(); 
$select = array(); 

를 초기화 , 당신은보기에 해당 값을 전달했습니다. if `필드의 이름을 포함 첫번째 파라미터는, 상기 제 파라미터 옵션의 연관 배열 - 된답니다 문서에서

<?php echo form_dropdown('salaries', $salaries, $ind_post->salaries,''); ?> 
관련 문제