CI 코드

제목 [예제] 폼검증 > 컨트롤러 (쓰기,수정 동시처리)
글쓴이 ci세상 작성시각 2010/02/18 16:32:47
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 15661   RSS
간만에 올려봅니다.^^

1. 메뉴얼 : http://codeigniter-kr.org/user_guide/libraries/form_validation.html
2. 사용목적 : 쓰기와 수정을 하나의 메소드에서 처리하기
function write_method()
{

	$mode = $this->common_model->seg_value('mode');
	$no = $this->common_model->seg_value('no');
			
	$this->_set_validation('write');	
			
	if ($this->form_validation->run() == FALSE)
	{
		if($mode == "modify")
		{
			$board_query = $this->db->query("select * from board where no='$no'");
			$board_data = $board_query>row_array();
			
			foreach($board_data as $key=>$value) :
				$data[$key] = $value;
			endforeach;				
			
			$this->load->view('write',$data);	

		} else {
			$this->load->view('write');
		}
		
	}
	else
	{
		
		$data = array(
				'id' => $this->input->post('id'),
				'title' => $this->input->post('title'),
				'memo' => $this->input->post('memo')
		);
		
		if($mode == "modify")
		{
			$this->db->where('no', $no);
			$this->db->update('board', $data); 
		} else {
			$this->db->insert('board', $data);
		}			

		// 완료처리
		redirect('board');	

	}	
}
<별도정의>
1. 세그먼트 찾기 ; $this->lib_model->seg_value
2. 폼검증 공용처리 : $this->_set_validation('write'); 

<소스설명>
1. 세그먼트에서 mode 값에 따라서 쓰기와 수정(m)을 구분
2. 게시판 고유번호는 no임
3. foreach 구문을 통하여 view로 넘길 data 배열을 자동으로 생성하여 줍니다.





 다음글 [예제] 폼헬퍼 > 동적 다중셀렉트 (1단, 2단... (1)
 이전글 [예제] 폼검증 > 콜백

댓글

미드필드 / 2010/02/23 04:45:23 / 추천 0
좋은예제 감사합니다.