CI 묻고 답하기

제목 마냐님의 Pagination 일반형 수정에 관한 질문입니다
글쓴이 너트 작성시각 2010/07/14 00:33:38
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 25840   RSS
CI를 이용해서 조그마한 사이트를 제작하고 있습니다
PHP를 썩 잘 다루지 못하는데도 튜토리얼과 포럼내의 각종 강좌를 참고해가며 뚝딱거리니 제가 원하는 모습이 나오는 걸 보니 괜히 뿌듯해지네요 :)

게시물의 페이징 처리에서 CI의 기본 Pagination 라이브러리를 이용하니 "URI/page/(페이지넘버*글수)"와 같은 형태를 가지더라구요
딱히 불편함은 없지만 혹시나 하는 마음에 포럼을 찾아보니 마냐님께서 MOD를 올려주셨더라구요 (http://codeigniter-kr.org/tip/view/10)
게시물에 적힌대로 수정을 했더니 페이지의 링크는 제가 원하는 대로("URI/page/페이지넘버") 생성이 되었습니다
그런데 그 링크를 클릭하면 이전의 방식 그대로 동작하네요

이를테면

01. 국어
02. 영어
03. 수학
04. 물리
05. 화학
06. 생물
07. 지구과학
08. 음악
09. 미술
10. 체육

이렇게 10개의 레코드가 있을 때 페이지당 5개의 글을 출력한다고 하면

"URI/page/1"에서
01. 국어
02. 영어
03. 수학
04. 물리
05. 화학

"URI/page/2"에서 (기존의 Pagination 라이브러리를 이용하면 "URI/page/6")
06. 생물
07. 지구과학
08. 음악
09. 미술
10. 체육

의 형태로 출력이 되어야 하는데 수정된 Pagination 라이브러리를 이용해 생성된 링크를 보면

"URI/page/1"
02. 영어
03. 수학
04. 물리
05. 화학
06. 생물

"URI/page/2"
03. 수학
04. 물리
05. 화학
06. 생물
07. 지구과학

와 같은 형태로 출력됩니다.

Pagination.php외에도 수정해야할 부분이 있는건가요?
아니면 Pagination으로 넘기는 $config변수에 따로 지정해야할 부분이 있는지 궁금합니다
 다음글 session질문 (5)
 이전글 코드이그니터로 mysql4.0의 사용법을 ㅡㅠ.. (2)

댓글

변종원(웅파) / 2010/07/14 15:34:25 / 추천 0
페이징을 위해 사용하신 컨트롤러와 모델을 올려주세요.
모델에서 변수의 순서가 틀리거나 값이 틀린게 들어가는 것 같네요.
너트 / 2010/07/14 22:42:45 / 추천 0
컨트롤러
	function index()
	{

		$this->load->library('pagination');

		$config = array(
			'base_url' => 'http://blahblah.com/blah_contoller/index/',
			'total_rows' => $this->db->get('table')->num_rows(),
			'per_page' => 9,
        		'full_tag_open' => '<div id="pagination">',
	        	'full_tag_close' => '</div>'
		);

		$this->pagination->initialize($config);

		$this->load->model('blah_model');
		$blah_list['blah_data'] = $this->blah_model->get_data($config);

		$this->load->view('includes/header');
		$this->load->view('blah_view', $blah_list);
		$this->load->view('includes/sidebar');
		$this->load->view('includes/footer');

	}
모델
	function get_data($config) 
	{

		$this->db->order_by("blah_index", "asc");
		$query = $this->db->get('blah_table', $config['per_page'], $this->uri->segment(3));
		return $query->result();

	}
위와 같은 형태입니다
너트 / 2010/07/14 22:50:36 / 추천 0
아. 이렇게 소스를 보니 이제 알 것 같네요
모델의 쿼리부분과 컨트롤러의 일부를 수정해서 해결하였습니다 :)

역시 차근차근 뒤돌아보는 게 중요하군요

도움을 주신 웅파님 감사드립니다
변종원(웅파) / 2010/07/15 10:06:28 / 추천 0
^^