CI 묻고 답하기

제목 CI의 페이지네이션 클래스 문제점(?)
글쓴이 mycastor 작성시각 2009/04/11 20:34:32
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 29711   RSS
CI에서 페이징 기능을 구현해 놓은 클래스가 있어서 사용을 해보았는데

몇가지 문제점(?)이 보이네요..

1. $config 설정값의 total_rows에는 전체 레코드 수가 아닌 전체 페이지수를 입력해야 하는듯 합니다.
2. $config 설정값의 per_page에는 한페이지에 보여질 아이템수가 아닌듯하구요.. 1을 넣어줘야 잘 작동되는듯 합니다.
3. 페이징 링크에서 가장 첫페이지는 1페이지가 아닌 빈값이 넘어가네요.

제가 잘 몰라서 그런지는 모르겠지만 이러한 문제가 보이는 듯하더라구요..

다른분들은 해당 클래스 사용하시면서 제가 생각하는 문제들에 대한 해결을 어떻게 하셨는지요?
 다음글 메뉴얼에 오타(?)가 있습니다. (3)
 이전글 번역을 모두 마쳤습니다. 압축본 올립니다 (6)

댓글

변종원(웅파) / 2009/04/12 23:08:50 / 추천 0
1. 페이지네이션 하는 해당 전체레코드 수 맞습니다.
2. 한페이지에 보여질 갯수 맞습니다.
3. 네 맞습니다. ^^
프로그램 내부에서 값이 없으면 0으로 처리합니다.
$product_id = $this->uri->segment(3, 0); 이렇게요. 세번째 세그먼트(이게 페이징 수라고 가정)값이 없으면 0으로 셋팅해줍니다.
이렇게 처리하시면 됩니다.
변종원(웅파) / 2009/04/12 23:09:38 / 추천 0
$config['base_url']=site_url('directory/prog/index/'.$gubun.'/'); //페이징처리 링크주소
$config['uri_segment'] = 5;
$data['perPage']=$config['per_page']='10'; //페이지당 리스트 노출갯수
$page=$offset = $this->uri->segment(5, 0);
$data['dir_info']=$this->dir_model->dir_list($gubun, $data['class1'], $data['class2'], $data['s_word'], $offset, $data['perPage']); //리스트 가져오기
$data['getTotalData']=$config['total_rows']=$this->dir_model->dir_cnt($gubun,$data['class1'], $data['class2'], $this->input->post('s_word'));
$config['page_query_string']=FALSE; // 두가지 주소체계를 동시에 사용할 경우 선언해줘야합니다.
$this->pagination->initialize($config);
$data['pagenav'] = $this->pagination->create_links();
$this->load->view('directory/main', $data);

위 예문이 controllers파일에서 기본적으로 사용하는 페이지네이션입니다.
mycastor / 2009/04/13 20:49:15 / 추천 0
와.. 답변 감사합니다. ^^