CI 묻고 답하기

제목 pagination 문제입니다. create_links() 가 안됩니다.
카테고리 CI 2, 3
글쓴이 if(money>0)happy 작성시각 2017/06/21 16:47:23
댓글 : 8 추천 : 0 스크랩 : 0 조회수 : 14508   RSS
if(money>0)happy

안녕하세요  PHP를 시작한지 얼마되지않은 초보입니다..

나름 구글링도 열심히 하면서 따라서 만들어보았는데 어디서부터 문제가 있는지 잘 모르겠어서

선배님들의 도움을 받고자 질문드려봅니다!! 

 

전체 소스코드와 사진 첨부하겠습니다.

class community extends MY_Controller
{

      public function __construct(){
            parent::__construct();
            $this->load->model('msc/communityBoard');
            $this->load->helper(array('url','date'));
      }

      public function communityMain(){
            // 페이지 네이션 로드
            $this->load->library('pagination');
            // 페이징 주소
            $config['base_url'] = '/msc/community/communityMain/page';
            // 게시물 전체 개수
            $config['total_rows']  = $this->communityBoard->get_community('count');
            // 한페이지에 표시할 게시물 수
            $config['per_page'] = 10;
            // 페이지 번호가 위치한 세그먼트
            $config['uri_segment'] = 5;
            // 선택된 페이지번호의 좌우로 숫자링크를 보여줄 개수
            $config['num_links'] = 2;

            // 페이지 네이션 초기화
            $this->pagination->initialize($config);

            // 페이지 링크를 생성하여 view에서 사용할 변수에 할당
            $data['pagination'] = $this->pagination->create_links();

            // 게시물 목록을 불러기오기 위한 offset,limit 값 가져오기
            $page = $this->uri->segment(5,1);

            if($page > 1){
                  $start = (($page / $config['per_page'])) * $config['per_page']; // 2/10 =0.2 * 10 = 2
            } else {
                  $start = ($page - 1) * $config['per_page']; // 1-1 = 0 * 10 = 10
            }

            $limit = $config['per_page']; // 10

            // 사용자 정보 쿠기 확인
            $main_data = null;
            $main_data['cookie_all'] = $_COOKIE;

            // 게시글 반환 0,10
            $data['rows'] = $this->communityBoard->get_community('',$start,$limit);

            // view 로드
            $this->load->view('msc/header',$main_data);
            $this->load->view('msc/community',$data);
            $this->load->view('msc/footer');

      }
}

?>

 

해당 view 와 에러 문구입니다.

 

 다음글 모델안에서 다른 모델 불러 오기 (1)
 이전글 세션관련 질문입니다. 세션이 사라지는 경우를 겪으신적이... (4)

댓글

한대승(불의회상) / 2017/06/21 16:50:40 / 추천 1
$this->pagination->create_links() 로 바꿔서 테스트해 보세요.
/ 2017/06/21 16:51:20 / 추천 1

컨트롤러에서 $pagination 변수에 create_links() 함수의 결과값을 이미 리턴 하셨으므로,

view에서는 <?php echo $pagination ?>으로만 하시면 원하는 결과값을 받을 수 있습니다.

/ 2017/06/21 16:53:23 / 추천 0

즉 위 구문의 문제는 컨트롤러에는 문제가 없습니다.

$pagination변수는 오브젝트가 아닌 함수 실행의 결과값을 리턴받은 html이므로 연결하시려는 함수가 당연히 정의되어있지 않다는 에러를 만나신 겁니다!

if(money>0)happy / 2017/06/21 16:54:34 / 추천 0

//한대승(불의회상)

감사합니다. 말씀하신대로 해보았더니 바로 됩니다 ^^ 덕분에 빠르게 해결 되었습니다.

if(money>0)happy / 2017/06/21 16:55:11 / 추천 0

//닥

감사합니다!! 닥 님의 말씀대로도 해보았더니 아무 문제없이 실행되었습니다.

친절한 설명 감사드립니다 !!

/ 2017/06/21 16:56:39 / 추천 0
잘 해결 되었다니 다행이네요!
/ 2017/06/21 16:56:52 / 추천 0
칼퇴하는 그날까지!
if(money>0)happy / 2017/06/21 16:57:43 / 추천 0

//닥

감사합니다 ㅎㅎ 아직 초보라서 배울게많지만 열심히해서 칼퇴하는 그날까지 화이팅해보겠습니다!!! 행복한 하루 되세요!!