当前位置:首页 > 日记 > 正文

PHP实现的分页类定义与用法示例

PHP实现的分页类定义与用法示例

本文实例讲述了PHP实现的分页类定义与用法。分享给大家供大家参考,具体如下:

<?php  class Page {     private $total;   //总记录     private $pagesize;  //每页显示多少条     private $limit;     //limit     private $page;      //当前页码     private $pagenum;   //总页码     private $url;      //地址     private $bothnum;   //两边保持数字分页的量   //构造方法初始化   public function __construct($_total, $_pagesize) {     $this->total = $_total ? $_total : 1;     $this->pagesize = $_pagesize;     $this->pagenum = ceil($this->total / $this->pagesize);     $this->page = $this->setPage();     $this->limit = "LIMIT ".($this->page-1)*$this->pagesize.",$this->pagesize";     $this->url = $this->setUrl();     $this->bothnum = 2;   }   //拦截器   private function __get($_key) {     return $this->$_key;   }   //获取当前页码   private function setPage() {     if (!empty($_GET['page'])) {        if ($_GET['page'] > 0) {          if ($_GET['page'] > $this->pagenum) {             return $this->pagenum;          } else {             return $_GET['page'];          }        } else {          return 1;        }     } else {        return 1;     }   }   //获取地址   private function setUrl() {     $_url = $_SERVER["REQUEST_URI"];     $_par = parse_url($_url);     if (isset($_par['query'])) {        parse_str($_par['query'],$_query);        unset($_query['page']);        $_url = $_par['path'].'?'.http_build_query($_query);     }     return $_url;   }   //数字目录   private function pageList() {     for ($i=$this->bothnum;$i>=1;$i--) {      $_page = $this->page-$i;      if ($_page < 1) continue;        $_pagelist .= ' <a href="'.$this->url.'&page='.$_page.'" rel="external nofollow" rel="external nofollow" >'.$_page.'</a> ';     }     $_pagelist .= ' <span class="me">'.$this->page.'</span> ';     for ($i=1;$i<=$this->bothnum;$i++) {      $_page = $this->page+$i;        if ($_page > $this->pagenum) break;        $_pagelist .= ' <a href="'.$this->url.'&page='.$_page.'" rel="external nofollow" rel="external nofollow" >'.$_page.'</a> ';     }     return $_pagelist;   }   //首页   private function first() {     if ($this->page > $this->bothnum+1) {        return ' <a href="'.$this->url.'" rel="external nofollow" >1</a> ...';     }   }   //   private function prev() {     if ($this->page == 1) {        return '<span class="disabled"></span>';     }     return ' <a href="'.$this->url.'&page='.($this->page-1).'" rel="external nofollow" ></a> ';   }   //   private function next() {     if ($this->page == $this->pagenum) {        return '<span class="disabled"></span>';     }     return ' <a href="'.$this->url.'&page='.($this->page+1).'" rel="external nofollow" ></a> ';   }   //尾页   private function last() {     if ($this->pagenum - $this->page > $this->bothnum) {        return ' ...<a href="'.$this->url.'&page='.$this->pagenum.'" rel="external nofollow" >'.$this->pagenum.'</a> ';     }   }   //分页信息   public function showpage() {     $_page .= $this->first();     $_page .= $this->pageList();     $_page .= $this->last();     $_page .= $this->prev();     $_page .= $this->next();     return $_page;   } }?>

分页样式如下图所示:

使用说明:

<?php  $_page = new Page($_total,$_pagesize);  //其中 $_total 是数据集的总条数,$_pagesize 是每页显示的数量.?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP网络编程技巧总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

相关文章

Excel中进行表格打开闪退的操作方

Excel中进行表格打开闪退的操作方

闪退,操作方法,表格,操作步骤,电脑软件,  刚刚一同事说用的Office 2003 Excel表格一打开就闪退了,开始还以为是中毒了。经过了解是Excel 模版文件损坏了,删除坏的就可以了。今天,小编就教大家在Excel中进行表格打开闪退的操作方法。Excel中…

word中大括号怎么打

word中大括号怎么打

括号,中大,电脑软件,word,近日有同学反应在word中输入大括号遇到了困难,因为他需要输入一个很大的大括号。小编把大括号怎么打的几种方法都整理出来供大家参考。一、普通输入大括号1.Shift+中/大括号键(一般都在字母P键的右边)如果是英文大…

JS中正则表达式要注意lastIndex属

JS中正则表达式要注意lastIndex属

正则,属性,表达式,要注意,电脑软件, 说明这篇文章,主要和大家聊聊JavaScript中RegExp对象的属性。解释每个RegExp对象都包含5个属性,source、global、ignoreCase、multiline、lastIndex。source:是一个只读的字符串,包含正则表达式的文本。var …

Windows7安装IIS的方法-Win7安装II

Windows7安装IIS的方法-Win7安装II

安装,方法,教程,电脑软件,IIS,如果想在Windows7下安装IIS,首先确定你的Win7版本。必须是Windows7旗舰版、Windows7专业版或者Windows7企业版才有IIS组件,而Win7 Home(家庭版)是没有IIS的。Windows7安装IIS7的方法其实icech发现Windows7旗舰版安…

photoshop怎么使用置换滤镜?

photoshop怎么使用置换滤镜?

滤镜,电脑软件,photoshop,photoshop是一个很有趣的软件,我们可以通过它来实现很多看起来比较高大上的效果。今天,小编就来向大家介绍photoshop中一个不太被注意到的,但是比较有用和好玩的滤镜效果&mdash;&mdash;置换滤镜,通过它我们可以实现&ld…

win10 defender如何隐藏

win10 defender如何隐藏

电脑软件,defender,Windows 10 至发布以来就内置集成了 Windows Defender 安全防护应用,但有许多用户平常压根儿就没注意到它的存在。微软为了使安全防护功能更加明显,Windows 10 周年更新中将 Windows Defender 图标列到了任务栏通知区域,以…

JS点击缩略图整屏居中放大效果

JS点击缩略图整屏居中放大效果

缩略图,效果,电脑软件,JS,需要实现的效果图:今天开发的时候,遇到要点击缩略图之后居中显示图片的大图查看(大致效果如上图所示)~想了好几种实现方式,最开始的时候,是想通过animate来点击图片进行显示,可是后来当我想要让放大的图片进行居中显示和…

怎么把新浪微博账号注销

怎么把新浪微博账号注销

账号,注销,新浪微博,电脑软件,就在最近,新浪微博悄悄的推出了注销账号的通道。但是注销账号通道很隐蔽,一些用户不清楚怎么操作,那么下面小编就为大家带来了微博账号的注销教程,希望对你有所帮助。微博app账号注销的方法:1、如果想要将自己的微…

性能优化之代码优化页面加载速度

性能优化之代码优化页面加载速度

页面加载,代码优化,性能优化,速度,电脑软件,页面代码的优化对于页面加载速度也有不小的影响,最广为人知的:HTML头部的JavaScript和写在HTML标签中的Style会阻塞页面的渲染,因此CSS放在页面头部并使用Link方式引入,JavaScript的引入放在页面尾。…

PHP实现链式操作的三种方法详解

PHP实现链式操作的三种方法详解

方法,操作,链式,三种,详解,本文实例讲述了PHP实现链式操作的三种方法。分享给大家供大家参考,具体如下:在php中有很多字符串函数,例如要先过滤字符串收尾的空格,再求出其长度,一般的写法是:strlen(trim($str))如果要实现类似js中的链式操作,比如像…

斜箭头符号图案大全

斜箭头符号图案大全

箭头,图案,符号,大全,电脑软件,斜箭头符号在很多地方都会被用到,比如图表中、游戏名字以及个性QQ资料,箭头符号一般作指方向目标之用。但是斜箭头怎么打呢?还是按照惯例先给大家列出斜箭头符号大全,方便不是经常使用或不需要了解教程的同学直接…

ps怎么设计动态波浪显示的文字动画

ps怎么设计动态波浪显示的文字动画

动态,波浪,文字,显示,动画,ps中想要设计一个不断扭曲晃动的文字,该怎么设计呢?下面我们就来看看详细的教程。软件名称:Adobe Photoshop CS5 V12.0 官方简体中文破解版软件大小:981.4MB更新时间:2014-04-281、首先启动Photoshop cs5,执行文件-打开…