当前位置:首页 > PHP教程 > php分页 > 列表

Php自用分页函数程序代码

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-10 14:58:07 浏览: 评论:0 

一个简单好用的Php自用分页函数,有需要使用分页函数又不想手写的朋友可进入参考,代码如下:

  1. /* 
  2.  * 前台分页 
  3.  *  
  4.  * $page_array = array( 
  5.  *  'totle'     =>10,    //总数 
  6.  *  'dispage'   =>10,    //每页显示条数 
  7.  *  'url'       =>'/article/list/',//url地址 
  8.  *  'now_page', =>1, //当前所在页数 
  9.  * ); 
  10.  *  
  11. * @return   pagenav 
  12. */ 
  13. function front_page( $page_array ){ 
  14.  
  15.     //分页判断 
  16.     $lastpage = ceil($page_array['total'] / $page_array['dispage']); //最后一页 
  17.     $page_array['now_page'] = min( $lastpage , $page_array['now_page'] );//比较当前页数和最后一页 
  18.     $prepage = $page_array['now_page'] - 1;//上一页 
  19.     $nextpage = ($page_array['now_page'] == $lastpage ? 0 : $page_array['now_page'] + 1 );//下一页 
  20.     $firstcount = ($page_array['now_page']-1) * $page_array['dispage']; 
  21.     if$lastpage <= 1) return false;//最后一页小于1,则直接返回 
  22.  
  23.     //首页 
  24.     if($prepage){ 
  25.         $page_array[]="<a href='{$page_array['url']}"."1/'>首页</a>"
  26.     }else
  27.         $page_array[]="<span class=\"nolink\">首页</span>"
  28.     } 
  29.     //上一页 
  30.     if($prepage) { 
  31.         $page_array[]="<a  href='{$page_array['url']}$prepage/'> 上一页 </a> "
  32.     }else
  33.         $page_array[]=''
  34.     } 
  35.  
  36.     //显示的数字分页条数 
  37.     $pagenum=5; 
  38.     $offset=2;//偏移两 
  39.     $from=$page_array['now_page'] - $offset;//起始 
  40.     $to=$page_array['now_page'] + $pagenum-$offset-1;//终止 
  41.     if($pagenum>$lastpage){ 
  42.         $from=1; 
  43.         $to=$lastpage
  44.     }else
  45.         if($from<1){ 
  46.             $to=$page_array['now_page'] + 1 - $from
  47.             $from=1; 
  48.             if(($to-$from)<$pagenum && ($to-$from)<$lastpage){ 
  49.                 $to=$pagenum
  50.             } 
  51.         }elseif($to>$lastpage){ 
  52.             $from=$page_array['now_page'] - $lastpage+$to
  53.             $to=$lastpage
  54.             if(($to-$from)<$pagenum && ($to-$from)<$lastpage){ 
  55.                 $from=$lastpage-$pagenum+1; 
  56.             } 
  57.         } 
  58.     } 
  59.     for($i=$from;$i<=$to;$i++){ 
  60.         if($i == $page_array['now_page']){ 
  61.             $pagenav.="<a href=\"#\" title=\"">$i</a> "
  62.         }else
  63.             $pagenav.="<a href=\"{$page_array['url']}$i/\" title=\"">$i</a> "
  64.  
  65.         } 
  66.     } 
  67.     //数字分页 
  68.     $page_array[]= $pagenav
  69.     //下一页 
  70.     if($nextpage){ 
  71.         $page_array[]="<a href='{$page_array['url']}"."$nextpage/'> 下一页 </a> "
  72.     }else { 
  73.         $page_array[]=''
  74.     } 
  75.     //尾页 
  76.     if($nextpage){ 
  77.         $page_array[]="<a href='{$page_array['url']}"."$lastpage/'>尾页</a>"
  78.     }else
  79.         $page_array[]='<span class="nolink">尾页</span>'
  80.     } 
  81.     //记录数 
  82.     $page_array[]="<span>每页   ".$page_array['dispage']."  条</span> <span>共  ".$page_array['total']."  条纪录</span>"
  83.     //分页数 
  84.     $page_array[]="共  ".$lastpage." 页"
  85.  
  86.     //跳页 
  87.     $page_array[] = '<span>跳转到:</span><input size="4" id="pagenu" type="text" onkeydown="javascript:if(event.keyCode==13){var page=(this.value<0)?1:this.value;location=\''.$page_array['url'].'\'+page;}" /> //开源软件:phpfensi.com 
  88.                     <a href="javascript:void(0)" onclick="javascript:var spage=(window.document.getElementById(\'pagenu\').value==\'\')?1:window.document.getElementById(\'pagenu\').value;location=\''.$page_array['url'].'\'+spage;">Go</a>'; 
  89.     //第一页总数 
  90.     $firstcount=$firstcount < 1 ? 0 : $firstcount
  91.     return array('pagenav'=>$page_array,'limit'=>$firstcount,'offset'=> $page_array['dispage'],'allpage'=>$lastpage); 
  92. }

Tags: Php分页函数 Php分页功能

分享到: