- 论坛徽章:
- 0
|
一个分页类,大家批批 (增加一个分页函数)
- <?php
- function getPageNumber($url,$totalItems,$itemsPerPage=10,$currentPageNumber=1,$length=10){
- $pageNumber='';
- $url.=(strpos($url,'?')!=false)?'&':'?';
- $totalPageNumber=ceil($totalItems/$itemsPerPage);
- if ($totalPageNumber>;1){
-
- $pageNumber='P '.$currentPageNumber.'/'.$totalPageNumber.' ';
-
- if ($currentPageNumber>;1){
- //First Page
- $pageNumber.="<A HREF=".$url."page=1>;<<</A>; ";
- //Previous Page
- $pageNumber.="<B>;<A HREF=".$url."page=".($currentPageNumber-1).">;PREV</A>; </B>;";
- }
- //The start number is the first number of all pages which show on the current page.
- $startNumber=intval($currentPageNumber/$length)*$length;
- //Prev N page
- if ($currentPageNumber>;=$length){
- $pageNumber.="[<B>;<A HREF=".$url."page=".($startNumber-1).">;".($startNumber-1)."</A>;</B>;]...";
- }
-
- $leftPageNumber=0;
- for ($i=$startNumber;$i<=$totalPageNumber;$i++){
- if ($i==0)continue;
- if ($i-$startNumber<$length){
- if ($i==$currentPageNumber){
- $pageNumber.="[<b>;$i</b>;]";
- }else{
- $pageNumber.="[<A HREF=".$url."page=".$i.">;".$i."</A>;]";
- }
- }else{
- $leftPageNumber=$totalPageNumber-$i+1;
- break;
- }
- }
- if ($leftPageNumber>;=1){
- $pageNumber.="...[<B>;<A HREF=".$url."page=".($startNumber+$length).">;".($startNumber+$length)."</A>;</B>;] ";
- }
-
- if ($currentPageNumber!=$totalPageNumber){
- //Next page
- $pageNumber.="<B>;<A HREF=".$url."page=".($currentPageNumber+1).">;NEXT</A>; </B>;";
- //Last page
- $pageNumber.="<A HREF=".$url."page=".$totalPageNumber.">;>;>;</A>; ";
- }
-
- return $pageNumber;
-
- }else return $pageNumber;
-
-
- }
- //Example:
- $currentPageNumber=( isset($_GET['page']) ) ? intval($_GET['page']) : 1;
- //get currentPageNumber
- echo getPageNumber('function.pagenumber.php?a=1',350,10,$currentPageNumber);
- //getPageNumber('视图的url','需要分页的条目总数','每页几个条目','当前页码',‘每页显示几个页码’)
- ?>;
复制代码
把这段代码保存为function.pagenumber.php,就可以看到效果!
当前页码的获得实际上可以包含在类和函数内部,由于个人特殊需求,放在了外面。有需求的自己改一下! |
|