CI 묻고 답하기

제목 검색 페이징 질문드릴게요.
카테고리 CI 2, 3
글쓴이 째리 작성시각 2019/03/20 11:53:27
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 13106   RSS
// 페이지 네이션 설정값
public function _pagination($totalrows = 0, $baseurl='', $limit = null)
    {
        $this->load->library('pagination');
        $config['base_url'] = $baseurl;
        $config['total_rows'] = $totalrows;
        $this->pagination->initialize($config);

        // limit
        $data['total'] = $totalrows;
        $data['limit'] = $limit != null ? $limit : $this->config->item("per_page");
        $data['offset'] = $this->uri->segment($this->config->item("uri_segment"));

        $this->pagination->per_page = $data['limit'];
        $data['pagination'] = $this->pagination->create_links();
        return $data;
    }

 

 

// 컨트롤러

public function list()
	{
        $this->_header();
        $categoie2 = $this->input->get('categoie2');
		$totalrows = $this->board_m->count_dev(array('categoie2'=>$categoie2));
        $data = $this->_pagination($totalrows, '/board/dev_ci?category2='.$categoie2);
        $data['categoie2'] = $categoie2;

        $data['data'] = $this->board_m->dev_limit(array('categoie2'=>$data['categoie2'],'limit'=>$data['limit'], 'offset'=>$data['offset']));
        $this->load->view('board/dev' ,$data);
		$this->_footer();
	}

 

// a태그 경로

<a class="dropdown-item" href="/board/list?categorie2=CI">CI</a>

 

이렇게 작성되있는데 1페이지까진 잘 나옵니다.

2페이지 넘어가면 도메인/board/list?categorie2=CI/6 이렇게나오는데

2페이지가 안나오네요ㅠㅠ

 

 다음글 java spring 의 BCryptPasswordEn... (2)
 이전글 원하는 URI 형식으로 매핑하기 (3)

댓글

변종원(웅파) / 2019/03/20 11:56:45 / 추천 0

지금 구성하신대로면 지극히 정상입니다. 

매뉴얼 참고하셔서 파라미터가 있는 상황에서의 옵션을 사용하셔야 합니다.

kaido / 2019/03/20 12:25:44 / 추천 0
$config['page_query_string'] = TRUE; //쿼리 스트링 

추가요~

https://www.cikorea.net/bbs/view/lecture?idx=7097&page=3&view_category=&lists_style=

이것도 참고 하시면 도움이 되실것 입니다

째리 / 2019/03/20 13:30:58 / 추천 0

답변 감사드립니다!!

참고링크 영상은 안봐지네요 ㅠㅠ

kaido / 2019/03/20 13:36:44 / 추천 0

아 팟서비스가 종료되었군요 ㅠㅠ

영상 다시 찍어야 겠네요

째리 / 2019/03/20 13:49:13 / 추천 0
$config['page_query_string'] = TRUE; //쿼리 스트링

이부분 추가하고나니까 uri가 per_page=6이런식으로 바꼇는데요.

2페이지 누르면 나오긴하는데 1페이지랑 똑같이 리스트업됩니다ㅠㅠ

kaido / 2019/03/20 15:22:46 / 추천 0

문구 부터 정리 하셔야 할것 같습니다 ㅎㅎ

저는 $page를 따로 빼서 구성 합니다.

$page = 페이지 넘버수 1, 2, 3 클릭시 넘어오는 숫자

 

CI에서 말하는 $page 역할이 per_page 이지만 조금 다릅니다.

per_page = '페이지 인덱스'  limit  $per_page , 20;  [20페이지 기준으로  $per_page 가 2이면 20, 40]

 

CI 기본 페이지네이션은 기본값이 20 max 값을 가지고 있는데 보통 처음 예상과 동작이 다릅니다

가령... 기존에 익숙한 페이징은

1, 2, 3 이 있고 2를 클릭 하면

$page = 2 가 되고  최대 20 페이지이면  $page * $max 한 값으로 최대값과 최소핪 $page -1 * $max 구해서  limit 20, 40  이 됩니다

old 스타일이죠.

 

CI 기본은 

1, 2, 3 에서 2페이지를 클릭하면

$per_page = 20 이 들어갑니다  limit 20 , 40  이런식

만일 이걸 기존에 익숙하신 page 방식으로 2로 강제로 하시면  limit 2, 40 이 되는 격입니다

장점은 따로 * 해서 안구해도 되지만 page count가 1 2 3 4 5 이렇게 안들어간다는 것입니다.

결론 !!

기존의 $page로 연출 하고 싶으시면.. $page를 따로 빼고 per_page = 1로 고정

limit 에서는 $page * $max 값으로 계산.

 

CI 기본으로 사용 하신다면 a 태그 숫자도 1, 2, 3 이 아니라 20, 40, 60 이런식으로 들어가야 합니다.

 

이부분에서 많이들 혼돈 하십니다. ㅎㅎ

처음엔 낯설어서 하나씩 정리해 나가셔서 소화하셔야 합니다.