找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1388|回复: 2

[php] 关于一个分页函数的使用

[复制链接]
发表于 2013-8-5 08:31:27 | 显示全部楼层 |阅读模式
  1. <?php
  2. class page{
  3.        
  4.         public $page; //当前页
  5.         public $pagenum;  // 页数
  6.         public $pagesize;  // 每页显示条数
  7.         public function __construct($count, $pagesize){
  8.                 $this->pagenum = ceil($count/$pagesize);
  9.                 $this->pagesize = $pagesize;
  10.                 $this->page =(isset($_GET['p'])&&$_GET['p']>0) ? intval($_GET['p']) : 1;
  11.         }
  12.         /**
  13.          * 获得 url 后面GET传递的参数
  14.          */
  15.         public function getUrl(){   
  16.                 $url = 'index.php?'.http_build_query($_GET);
  17.                 $url = preg_replace('/[?,&]p=(\w)+/','',$url);
  18.                 $url .= (strpos($url,"?") === false) ? '?' : '&';
  19.                 return $url;
  20.         }
  21.         /**
  22.          * 获得分页HTML
  23.          */
  24.         public function getPage(){
  25.                 $url = $this->getUrl();
  26.                 $start = $this->page-5;
  27.                 $start=$start>0 ? $start : 1;
  28.                 $end   = $start+9;
  29.                 $end = $end<$this->pagenum ? $end : $this->pagenum;
  30.                 $pagestr = '';
  31.                 if($this->page>5){
  32.                         $pagestr = "<a href=".$url."p=1".">首页</a> ";
  33.                 }
  34.                 if($this->page!=1){
  35.                         $pagestr.= "<a href=".$url."p=".($this->page-1).">上一页</a>";
  36.                 }
  37.                
  38.                 for($i=$start;$i<=$end;$i++){
  39.                         $pagestr.= "<a href=".$url."p=".$i.">".$i."</a>  ";                                               
  40.                 }
  41.                 if($this->page!=$this->pagenum){
  42.                         $pagestr.="<a href=".$url."p=".($this->page+1).">下一页</a>";
  43.                        
  44.                 }
  45.                 if($this->page+5<$this->pagenum){
  46.                         $pagestr.="<a href=".$url."p=".$this->pagenum.">尾页</a> ";
  47.                 }
  48.                 return $pagestr;       
  49.         }
  50.        
  51. }
  52. // 测试代码
  53. $page = new page(100,10);
  54. $str=$page->getPage();
  55. echo $str;

  56. $page = new page(100,10);
  57. $str=$page->getPage();
  58. echo $str;


  59. ?>
复制代码
这个php分页函数怎么用?
发表于 2013-8-9 21:49:57 | 显示全部楼层
你还是看下类的调用吧
回复 支持 反对

使用道具 举报

发表于 2013-8-11 00:19:14 | 显示全部楼层
真奇怪,代码后面不是有调用示例么?
  1. <?php
  2. $page = new page("总记录数","每页显示数量");
  3. $str=$page->getPage();
  4. echo $str;
  5. ?>
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|Archiver|手机版|blueidea.com ( 湘ICP备19000417号-2 )

GMT+8, 2021-4-18 16:20 , Processed in 0.055603 second(s), 8 queries , Gzip On, Memcache On.

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表