| 제목 | 페이징 처리 만들어봤어요 | ||
|---|---|---|---|
| 글쓴이 | 너그 | 작성시각 | 2016/12/15 13:15:06 | 
|  | |||
| 안녕하세요 CI 초보 개발자입니다. 
 TIP 까지 갈정도는 아닌 것같아서 자유 게시판에다가 한번 써보았어요 ^^;; CI에 페이징 라이브러리가 있지만, 저는 궂이 그렇게 까지 할필요 없이 그냥 딱 필요한 페이지만 필요하고, 제가 도큐먼트 문서를 잘못봐서 그런지 페이지가 10단위로 나와서 직접 만들게 되었습니다.. 
 사실은 자바 개발할때 쓰던거 PHP 버전으로 바꾼게 전부네요.. 
 
<? if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/**
 * [toPage 페이지 헬퍼]
 * @param  [integer] $_total   [총페이지 수]
 * @param  [integer] $_current [표시 페이지 수]
 * @param  [integer] $_nowPage [현재 페이지]
 * @return [array]           [startPage:시작 페이지 , endPage:끝페이지, next:다음페이지 , prev:이전페이지 ,first:처음, last:마지막]
 */
function toPage($_total,$_current,$_nowPage){
  //총 페이지 수
  $total_page = ceil($_total/$_current);
  //현재 페이지가 없거나 0 이면 1페이지 표시
  if(!$_nowPage || $_nowPage <= 0){
    $_nowPage = 1;
  }
  //시작 페이지 & 끝페이지 계산
  $startPage = floor(($_nowPage -1) / $_current) * $_current + 1;
  $endPage = $startPage + $_current - 1;
  //총페이지 수보다 더 높은 페이지수가 입력되면 마지막 페이지로 계산
  if($_nowPage > $total_page) $_nowPage = $total_page;
  //마지막 페이지가 총페이지를 넘어가면 마지막 페이지로 표시
  if($endPage > $total_page)  $endPage = $total_page;
  //처음으로 & 끝으로
  $first = $_nowPage == 1            ? FALSE : 1;
  $last  = $_nowPage == $total_page  ? FALSE : (int)$total_page;
  //이전페이지 & 다음페이지
  $prev  = $_nowPage == 1           ? FALSE : (int)$_nowPage - 1;
  $next  = $_nowPage == $total_page ? FALSE : (int)$_nowPage + 1;
  return array( 'startPage'=>(int)$startPage,
                'endPage'=>(int)$endPage ,
                'next'=>$next,
                'prev'=>$prev ,
                'first'=>$first,
                'last'=>$last
              );
}
 | |||
| 다음글 | 안녕하세요 . PHPStorm IDE 신규 1년구독 시... (5) | ||
| 이전글 | 맥북, 또는 저사양 게임에서 쾌적하게 게임하기 (4) | ||
| 
                                한대승(불의회상)
                                /
                                2016/12/15 13:43:05 /
                                추천
                                0
                             | 
| 
                                변종원(웅파)
                                /
                                2016/12/15 15:23:51 /
                                추천
                                0
                             
                                수고하셨습니다. 매뉴얼 보시면 1, 2, 3으로 나오는 옵션이 있습니다. ^^
                             | 
| 
                                너그
                                /
                                2016/12/15 16:37:04 /
                                추천
                                0
                             #불의회상 - 감사합니다.. 
 #웅파 잘보니간 옵션이 있었네요.. 사실 정말 잘 찾아보면 있을거라는 생각은했는데.. 저희 코더가 짜놓은 코딩에 이걸 합치는 것은 헬난이도라서 그냥 만들게 되었어요 ~ (불순한 동기 .. ;;) 
 
 | 
| 
                                kaido
                                /
                                2016/12/15 17:08:11 /
                                추천
                                0
                             저도 불순한 동기로 네이티브틱한 php 페이지네이션 방식으로 만들 수 없을까? 고민하다가 따로 만들었습니다. 요점은 페이지 증가수는 1로 만들고 페이지는 limit 에서 증가 시킨다는 것이 핵심이죠. | 
| 
                                홍즈
                                /
                                2016/12/21 12:58:15 /
                                추천
                                0
                             
                                감사합니다. 참고하겠습니다.
                             | 
수고 하셨습니다.
팁으로 옮겨도 될거 같은데요 ^^