CI 묻고 답하기

제목 페이지네이션를 사용할려고 하는데 계속 오류가 발생합니다,
카테고리 CI 2, 3
글쓴이 정수리 작성시각 2016/10/10 18:31:39
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 21899   RSS

ci 책을 참고하여 한페이지는 페이지네이션화를 사용하여 페이징 처리를 하였습니다.

 

그리고 다른 페이지도 페이징화을 하기 위해

 

위에서 만들었던 코드를 가지고와 url와 per_page 이런 부분에 수정한 후 웹에서 실행을 하니

 

Message: Undefined property: M_jds_c::$pagination

Filename: controllers/m_jds_c.php

Line Number: 84

Fatal error: Call to a member function initialize() on a non-object in /home2/users/intra/public_html/jds/application/controllers/m_jds_c.php on line 84

 

이런 오류가 계속 발생합니다;

 

페이지네이션 라이브러리를 가지고 오지 못해 발생하는 문제인지;

 

페이징을 적용시켰던 페이지의 코드형태가 아예 똑같이 가져와서 사용하였는 유독 현재 적용할려는 페이지의 경우는 저 에러가 발생하네요;

메뉴얼을 확인하여 빼먹은 부분이 있는지 확인도 하였지만  필수로 들어가야할 설정도 다 들어 가있습니다

 

$config['base_url'] = 'http://example.com/index.php/test/page/';

$config['total_rows'] = 200;

$config['per_page'] = 20;

 

부분도 다 설정하였습니다.


function m_main(){			

					$this->load->library('pagination');
					$config['base_url'] = base_url().'index.php/m_jds_c/m_main';
					$config['total_rows'] = $this->M_model->ck_list('count');
					$config['per_page'] = 5;
					$config['uri_segment']=3;

                                         $page = $this->uri->segment(5,1);
						//$data['cklist'] = $this->M_model->ck_list();
					if($page>1){

						$start = (ceil($page/$config['per_page']))*$config['per_page'];
					
					}else{
						
						$start = ($page-1)*$config['per_page'];

					}
						
						$limit = $config['per_page'];
					$data['list'] = $this->M_model->ck_list('', $start, $limit);

 

                      $this->load->view('m_test/m_main', $data);

}

 다음글 ajax로 출력한 데이터를 페이징 하고자 합니다. (15)
 이전글 아파치 DB 통신 오류 질문입니다.. (3)

댓글

한대승(불의회상) / 2016/10/10 22:45:28 / 추천 0

"Undefined property" 이 메시지는 정상적으로 라이브러리가 로드 되지 않았다는 뜻입니다.

로직을 잘 살펴 보세요.

정수리 / 2016/10/11 09:18:40 / 추천 0

@한대승

답변 감사합니다.

말씀하신 대로 로직도 다시 살펴보고 

메뉴얼을 다시 확인해 보았습니다.

메뉴얼에서 라이브러리 사용법에서

컨트롤러의생성자에서 라이브러리를 호출하더군요 

컨트롤러함수에 있던 페이지네이션 호출 코드를 생성자에 위치시켜도 안되더군요;

생성자에 다른 모델과 라이브러리를 호출하는 코드가  있었는데

혹시나 해서 페이지네이션 라이브러리 호출 코드를 맨위로 위치 시키니

호출이 잘되네요;;

페이지네이션 라이브러리 경우 호출 시 최상단에 있어야 하는건가요??;

메뉴얼에는 그런내용은 없어서 혹시나 제가 놓치고 있던 부분일까요?

변종원(웅파) / 2016/10/11 09:28:56 / 추천 0
중복 호출은  ci에서 막는데 이상하네요. 다른 모델에서 페이징 호출하거나 선언하는 부분 있는지 보세요.
정수리 / 2016/10/11 10:23:58 / 추천 0

@변종원

답변감사합니다.

이전에 다른 페이지에서 페이징을 구현한 코드를 살펴보니디

컨트롤러함수에서 제가 페이지네이션 라이브러리를 호출하고 있었네요

이게 문제가 되었던 것일까요?

한대승(불의회상) / 2016/10/11 10:24:10 / 추천 0

var_dump($this->pagination); 해 보세요.

뭔가 나올겁니다.