Develop
2003.04.23 11:05
[php] 초간단 게시판 페이지 분할 알고리즘
조회 수 8752 댓글 0
페이지 넘기기 알고리즘을 알려드리겠습니다.
다소 어려운 부분이 있을것입니다.
따로 정의 되어 있어야 하는 변수를 설명 해드리겠습니다.
------------------------------------------------------
$page : 페이지
$total : 총 게시물수
$limite : 한페이지당 출력될 게시물수
$page_num : 한 페이지당 출력될 링크수
------------------------------------------------------
## 한 화면에 표시될 게시물 뽑아오는 알고리즘
if(!$page) $page=1; // 페이지가 없으면 1로 정한다
$total_page = intval(($total-1) / $limite)+1; // 총 페이지수를 구해온다
$first = ($page-1)*$limite; // 뽑아올 게시물 [처음]
$last = $limite; // 뽑아올 게시물 [끝]
// 뽑아올 게시물[끝] : 총 게시물 수가 한페이지당 출력될 게시물수보다 적으면 총 게시
물수를 뽑아올 게시물[끝] 으로 정한다
if($total < $last) $last = $total;
// 뽑아올 게시물 [처음]~뽑아올 게시물 [끝] 구한값으로 한페이지에 글을 뽑아 온다
$limit = "limit $first,$last";
## 게시물을 출력한다(생략) #####
## 페이지 링크 구하는 알고리즘
// 한 화면에 출력될 페이지 링크가 3개라고 가정 하면 현재 페이지가 4라면 4,5,6 이라
는 링크만 출력되게 한다
// 4가 나오는식
$first_page = intval(($page-1)/$page_num+1)*$page_num-($page_num-1);
// 6을 구하는식
$last_page = $first_page+($page_num-1);
if($last_page > $total_page) $last_page = $total_page;
// [이전] 버튼 링크
$prev = $first_page-1;
if($page > $page_num) echo"[이전] ";
// [4] [5] [6]
// 페이지 링크 출력 : 4와 6을 구했으니 여기서는 4~6까지를 for문으로 출력
for($i = $first_page; $i <= $last_page; $i++)
{
if($page == $i) echo"[$i] "; // 출력될 번호가 현재 페이지랑 같다면 진하게
else echo"[$i]";
}
// [다음] 버튼 출력
$next = $last_page+1;
if($next <= $total_page) echo"[다음]";
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
517 | Develop | [c] 연산자 우선순위.. ㅋㅋ | hooni | 2013.04.23 | 7190 |
516 | Develop |
[java] 파일 라인수 계산하는 프로그램 (하위 디렉토리까지..)
![]() |
hooni | 2013.04.23 | 7658 |
515 | Develop |
[php] 서버 이상 체크 해서 문자보내는 샘플소스..
![]() |
hooni | 2013.04.23 | 6723 |
514 | Develop | [linux] crond 사용법.. ㅋㅋ | hooni | 2013.04.23 | 7274 |
513 | Develop | [php] 자주 쓰는 PHP 함수와 예제 | hooni | 2013.04.23 | 9810 |
512 | Develop |
[c][php] 프로세스정보와 메모리 정보 웹으로 출력하는거..
![]() |
hooni | 2013.04.23 | 6342 |
511 | Develop |
[c] 마우스 따라다니는 고양이 - 네코95 (WinAPI)
![]() |
hooni | 2013.04.23 | 7958 |
510 | Develop |
[c] 테트리스3D (Tetris 3D)
![]() |
hooni | 2013.04.23 | 7115 |
509 | Develop |
[c][cpp] mfc, win32api, 예제 소스 대박 모음~
![]() |
hooni | 2013.04.23 | 8478 |
508 | Develop |
[pdf] C++ 국제 표준 문서
![]() |
hooni | 2013.04.23 | 7320 |
507 | Develop |
[pdf] C 국제 표준 문서
![]() |
hooni | 2013.04.23 | 6776 |
506 | Develop |
[doc] C언어 문법 설명서
![]() |
hooni | 2013.04.23 | 6456 |