代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
PHP
】
PHP完美分页类
作者:
Hardy
/ 发布于
2015/10/13
/
370
<?php class Page{ private $total; //数据表中总记录数 private $listrows; //每页显示行数 private $limit; private $uri; //自动获取url请求地址 private $pageNum; //总页数 private $config = array('header'=>'条记录','prev'=>'上一页','next'=>'下一页','first'=>'首页','last'=>'尾页'); public function __construct($total,$listrows=10,$pa=""){ $this->total = $total; $this->listrows = $listrows; $this->uri = $this->getUri($pa); $this->page = !empty($_GET['page']) ? $_GET['page']:1 ; $this->pageNum = ceil($this->total/$this->listrows); $this->limit = $this->setLimit(); } private function setLimit(){ return "limit ".($this->page-1)*$this->listrows.','.$this->listrows; } public function getUri($pa){ $url = $_SERVER['REQUEST_URI'].(strpos($_SERVER['REQUEST_URI'],'?')?'':"?").$pa; $parse = parse_url($url); //返回一个数组,数组有元素query和path if(isset($parse['query'])){ parse_str($parse['query'],$params); //将query中的参数解析到$params,为数组 unset($params['page']); $url = $parse['path'].'?'.http_build_query($params); //按照指定的参数生成一个请求字符串 } return $url; } //limit为私有属性,通过这个魔术方法使limit变得可用 private function __get($args){ if($args=="limit"){ return $this->limit; }else{ return null; } } private function first(){ if($this->page==1){ $html.=''; }else{ $html.=" <a href='{$this->uri}&page=1'>{$this->config['first']}</a> "; } return $html; } private function prev(){ if($this->page==1){ $html.=''; }else{ $html.=" <a href='{$this->uri}&page=".($this->page-1)."'>{$this->config['prev']}</a> "; } return $html; } private function pagelist(){ $linkPage=''; //每边显示inum个页码 $inum = 3; //左边的页码 for($i=$inum;$i>=1;$i--){ $page = $this->page-$i; if($page<1){ continue; }else{ $linkPage.=" <a href='{$this->uri}&page={$page}'>{$page}</a> "; } } //当前页码 $linkPage.=" {$this->page} "; //右边页码 for($i=1;$i<=$inum;$i++){ $page = $this->page+$i; if($page>$this->pageNum){ break; }else{ $linkPage.=" <a href='{$this->uri}&page={$page}'>{$page}</a> "; } } return $linkPage; } private function next(){ if($this->page==$this->pageNum){ $html.=''; }else{ $html.=" <a href='{$this->uri}&page=".($this->page+1)."'>{$this->config['next']}</a> "; } return $html; } private function last(){ if($this->page==$this->pageNum){ $html.=''; }else{ $html.=" <a href='{$this->uri}&page={$this->pageNum}'>{$this->config['last']}</a> "; } return $html; } private function goPage(){ return ' <input id="in" type="text" onkeydown="javascript:if(event.keyCode==13){ var page=(this.value>'.$this->pageNum.')?'.$this->pageNum.':this.value; location=\''.$this->uri.'&page=\'+page+\'\' }" value="'.$this->page.'" style="width:25px" > <input type="button" value="GO" onclick="javascript:var page=(document.getElementById(\'in\').value>'.$this->pageNum.')?'.$this->pageNum.':document.getElementById(\'in\').value; location=\''.$this->uri.'&page=\'+page+\'\' "> '; } //*可见的成员方法 function fpage($arr=array(0,1,2,3,4,5,6,7)){ $html[0]=" 共有<b>{$this->total}</b>{$this->config['header']} "; $html[1]=" {$this->page}/{$this->pageNum}页 "; $html[2]=$this->first(); $html[3]=$this->prev(); $html[4]=$this->pageList(); $html[5]=$this->next(); $html[6]=$this->last(); $html[7]=$this->goPage(); $fpage=''; foreach($arr as $index){ $fpage.=$html[$index]; } return $fpage; } }
试试其它关键字
完美分页
分页
同语言下
.
用net匹配并替换iOS标准的emoji表情符号
.
处理带Emoji表情的的字符串
.
获取微信昵称时 过滤特殊字符
.
通过判断上传文件的头字符来判断文件的类型
.
模拟百度URL加密解密算法
.
以太坊检查地址是否合法
.
实现crontab解析类
.
获取每个月的开始和结束时间
.
图片上传工具类
.
APP手机应用信息采集
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
Hardy
贡献的其它代码
(
26
)
.
jQuery地区三级联动选择输入
.
在数据库中所有表所有栏位 找出匹配某个值的 脚本
.
伪造客户端获取页面
.
使用Google Chart API生成二维码以及制作点子名片
.
汉字转换为拼音
.
采集远程图片保存本地
.
通过气象局开放API查询指定城市(区县)天气
.
获取文件创建时间与修改时间
.
验证登陆类
.
发邮件
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3