CI 묻고 답하기

제목 페이징네이션 질문 ($config['use_page_numbers'] = true)
카테고리 CI 2, 3
글쓴이 yumin 작성시각 2018/12/24 15:31:02
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 15295   RSS

페이징네이션 

$config['use_page_numbers'] = true;를 사용을 하면

ex) 1페이지:15 14 13 12 11 10

     2페이지:13 12 11 10 9 8

     3페이지:12 11 10 9 8 7      으로 리스트 전체가 바뀌는게 아니라 한개만 변경이됩니다

$config['use_page_numbers'] = false;를 사용하면 잘됩니다. 

ci_board/page/

ci_board/page/20

ci_board/page/40

으로 이동이 잘됩니다.

 

3.0.5사용할떄는 정상적으로 나온것 같았는데 현재는 php 7이상이여서 3.1.7 사용중입니다 소스를 첨부합니다.

public function lists()
{
   $this -> load -> helper('alert');

   if (@$this->session->userdata('logged_in') == TRUE)
   {
      $this -> load -> library('form_validation');
      $this->output->enable_profiler(TRUE);
      $this->load->library('pagination');

      $uri_segment = 5;

      // 페이지 네이션 설정
      $config['base_url'] = '/bbs/index.php/board/lists/ci_board/page';
      // 페이징 주소
      $config['total_rows'] = $this->board_m->get_list($this->uri->segment(3), 'count');
      // 게시물 전체 개수
      $config['per_page'] = 20;
      // 한 페이지에 표시할 게시물 수
      $config['uri_segment'] = $uri_segment;
      // 페이지 번호가 위치한 세그먼트
      $config['num_links'] = 4;
      $config['cur_tag_open'] = '<li class="pagination"><a href="#" class="active">';
      $config['cur_tag_close'] = '</a>';
      $config['first_link'] = '<<';
      $config['last_link'] = '>>';
      $config['use_page_numbers'] = true;


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

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

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

      $limit = $config['per_page'];

      $data['list'] = $this->board_m->get_list($this->uri->segment(3), '', $start, $limit);
      $this->load->view('board/list_v', $data);
   } else {
      alert('로그인을 해주세요', '/bbs/index.php/auth/login/');
      exit;
   }
}
 다음글 초보 개발자 질문합니다. include 관련 (5)
 이전글 호스팅 404 에러 질문 입니다~!! (10)

댓글

변종원(웅파) / 2018/12/24 15:41:02 / 추천 0

질문이 뭔가요? ^^

yumin / 2018/12/24 15:41:49 / 추천 0
$config['use_page_numbers'] = true; 를사용하면 페이징이 안된다는데 질문입니다.
변종원(웅파) / 2018/12/24 15:46:09 / 추천 0

안된다는게 어떻게 안된다는건지 정확하지 않습니다.

페이징이 안나온다는 건지? 나오는데 클릭하면 정상 이동을 하지 않는다는 것인지?

내가 알던 페이징과는 다른 형태로 나온다던지? 어떤건가요? ㅎㅎㅎ

yumin / 2018/12/24 15:49:24 / 추천 0
$config['use_page_numbers'] = true;

1페이지:15 14 13 12 11 10

     2페이지:13 12 11 10 9 8

     3페이지:12 11 10 9 8 7

내용이 이렇게 페이징 되서 나오네요

$config['use_page_numbers'] = true; 이게 1페이지 내용 20개 뿌리고 2번째 페이지 또 20개뿌리는게 아닌가요?
kaido / 2018/12/24 18:32:24 / 추천 0
$config['use_page_numbers']  하고는 상관 없습니다.

 

원하시는것이 1페이지에 20개 나오고 2페이지에 40개 나오고 하는 거면

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

참고한번 해보세요

php 기본형태의 페이징 기법입니다. 왜 이렇게 설정 하는지 설명해 놓았습니다.

 

무엇보다 기본을 잘 파악해 두셔야합니다. 응용은 그 다음입니다.

이미 다 만들어진 타인의 소스 가져다가 분석 하는게 사실 더 어렵습니다 ^^

변종원(웅파) / 2018/12/26 14:17:38 / 추천 1

매뉴얼 다시 읽어보시기를 추천합니다. 

내가 생각했던 것과 다르다가 질문의 요지네요. ^^