2011-05-13 3 views
0

CRUD 활동을위한 소형 업데이트 컨트롤러를 작성하려고합니다. 여기에 기본 코드는 다음과 같습니다CI CRUD를 사용하여 DB에서 데이터를 업데이트하여 양식을 전달합니다.

컨트롤러 :

function update($id) 
    {   
     $this->form_validation->set_rules('name','Name','required');    
     $this->form_validation->set_rules('age','Age','required|is_numeric');   
     $this->form_validation->set_rules('country','Country',''); 

     $this->form_validation->set_error_delimiters('<br /><span class="error">', '</span>'); 

     if ($this->form_validation->run() == FALSE) { 

      //Failed validation or first run 
      $data = $this->my_model->get_record($id); 

      $this->load->view('myform_view', $data); 

     } else { 

      //Validation success, update DB 

     } 
    } 

보기 :

<?php 

$attributes = array('class' => '', 'id' => ''); 
echo form_open('my_form', $attributes); ?> 

<p> 
     <label for="name">Name</label> 
     <?php echo form_error('name'); ?> 
     <br /><input id="name" type="text" name="name" value="<?php echo set_value('name'); ?>" /> 
</p> 

<p> 
     <label for="age">Age</label> 
     <?php echo form_error('age'); ?> 
     <br /><input id="age" type="text" name="age" value="<?php echo set_value('age'); ?>" /> 
</p> 

<p> 
     <label for="country">Country</label> 
     <?php echo form_error('country'); ?> 
     <br /><input id="country" type="text" name="country" value="<?php echo set_value('country'); ?>" /> 
</p> 


<p> 
     <?php echo form_submit('submit', 'Submit'); ?> 
</p> 

<?php echo form_close(); ?> 

이 기본 구조, 형태가 더 검증 된 데이터가없는 실행 그러나 처음이다. 따라서 나는 이것을 DB에서 얻어야 만한다. 이것을 처음 실행시보기에 전달하는 가장 좋은 방법은 무엇입니까? 그런 다음 양식이 제출되면 유효성 검사가 실패하면 실패한 데이터를 다시 DB에서 다시로드하지 않기를 원합니다. 이 일을하는 가장 좋은 방법은 무엇입니까?

답변

1

다른보기 방법이 있어야합니다. 그런 다음 "업데이트"방법에 대한 양식을 제출하십시오. 여기서 form_validation을 정의합니다.

나는 비슷한 질문을했다.

$query = $this->db->where('id',$id)->get('table_name'); 
$data['edit'] = $query->result_array(); 

등의 편집을 위해 먼저이 link

+0

Theres는 하나의 컨트롤러로 모두를 압축 할 수있는 방법을 확인? 또한 뷰 파일을 채우는 방법도 있습니다. 지금은 set_value()를 사용합니다. – Alex

+1

답변을 업데이트했습니다. 나는 네가 전에 물어 보았던 것과 똑같은 것을 요구하고 있다고 생각한다. – luckytaxi

0

잡아에게 업데이트 컨트롤러의 데이터를 참조하고보기 파일에

value="<?php if(isset($edit[0]['age'])){echo $edit[0]['age'];}else{echo set_value('age');}?>" 
관련 문제