728x90
반응형
01.<!--?php
02.$currentPage $_REQUEST["page"];
03.if(!$currentPage$currentPage = 1;
04. 
05.$totalRecord = 111;  // 전체 레코드수
06.$recordPerPage = 10; // 페이지 당 뿌릴 레코드 수
07.$pagePerBlock = 10; // [1] ~ [10] 까지 한번에 10개씩
08. 
09.function handlePage($totalRecord,$recordPerPage,$pagePerBlock,$currentPage){ // 전체레코드,  페이지당 레코드수(10) , 블럭당페이지수(10), 현재페이지
10. 
11. $totalNumOfPage ceil($totalRecord/$recordPerPage); //16page
12. $totalNumOfBlock ceil($totalNumOfPage/$pagePerBlock); //2block
13. $currentBlock ceil($currentPage/$pagePerBlock); // 1page
14.   
15. $startPage = ($currentBlock-1)*$pagePerBlock+1;  // 1page
16. $endPage $startPage+$pagePerBlock -1; // 10page
17. if($endPage --> $totalNumOfPage$endPage $totalNumOfPage;
18.  
19. //NEXT,PREV 존재 여부
20. $isNext = false;
21. $isPrev = false;
22.  
23. if($currentBlock $totalNumOfBlock$isNext = true;
24. if($currentBlock > 1)      $isPrev = true;
25.  
26. if($totalNumOfBlock == 1){
27.  $isNext = false;
28.  $isPrev = false;
29. }  
30.  
31. if($isPrev){
32.  $goPrevPage $startPage-$pagePerBlock// 11page
33.  echo "<a href="\"$PHP_SELF?page=$goPrevPage\"">[PREV]</a>"
34. }
35. for($i=$startPage;$i<=$endPage;$i++){
36.  echo "<a href="\"$PHP_SELF?page=$i\"">[".$i."]</a>";
37. }
38. if($isNext){
39.  $goNextPage $startPage+$pagePerBlock// 11page
40.  echo "<a href="\"$PHP_SELF?page=$goNextPage\"">[NEXT]</a>";
41. 
42.}
43. 
44.handlePage($totalRecord,$recordPerPage,$pagePerBlock,$currentPage);
45. 
46.?>


728x90
반응형

'Web Programming > php' 카테고리의 다른 글

php 숫자연산  (0) 2018.08.30
php var_dump, 문자결합  (0) 2018.08.30
php echo  (0) 2018.08.30
PHP 란  (0) 2018.08.30
Window PHP 설치  (0) 2018.08.30

+ Recent posts