제목 | 페이징 처리 만들어봤어요 | ||
---|---|---|---|
글쓴이 | 너그 | 작성시각 | 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
감사합니다. 참고하겠습니다.
|
수고 하셨습니다.
팁으로 옮겨도 될거 같은데요 ^^