PHP 分页类 高洛峰 细说PHP
分页类
<?php //分页类class Page{private $total; //总记录数private $nums; //每页显示的条数private $pages; //总页数private $cpage; //当前页private $url; //当前urlpublic function __construct($total,$nums){$this->total = $total;$this->nums = $nums;$this->pages = $this->getPages();$this->url = $this->setUrl();//获取当前页$this->cpage = !empty($_GET['page']) ? intval($_GET['page']):1;$this->cpage = $this->cpage>0 ?$this->cpage:1;$this->cpage = $this->cpage>$this->pages?$this->pages:$this->cpage;}private function setUrl(){$url = $_SERVER['REQUEST_URI'];if(strstr($url, "?")){$arr = parse_url($url);if(isset($arr['query'])){parse_str($arr['query'],$output);}//删除url中重复的page=n的字符串unset($output['page']);$url = $arr['path']."?".http_build_query($output);}else{$url .="?";}return $url;}//获取页数private function getPages(){return ceil($this->total/$this->nums);// 向上取整法}//首页private function first(){//如果当前页是第一页 则不显示这些if($this->cpage>1){$pre = $this->cpage-1;return '<a href="'.$this->url.'&page=1">首页</a> <a href="'.$this->url.'&page='.$pre.'">上一页</a>';}else{return '';} }//列表private function flist(){$list = "";$num = 4;//当前页之前的设置for($i=$num;$i >=1;$i--){$page = $this->cpage-$i;if($page >1){$list .= ' <a href="'.$this->url.'&page='.$page.'">'.$page.'</a> ';}}//当前页的设置if($this->pages>1){$list .=' '.$this->cpage.' ';}//当前页之后的设置for($i=1;$i <=$num;$i++){$page = $this->cpage+$i;if($page <= $this->pages){$list .= ' <a href="'.$this->url.'&page='.$page.'">'.$page.'</a> ';}else{break;} }return $list;}//末页private function last(){if($this->cpage < $this->pages){$next = $this->cpage+1;return '<a href="'.$this->url.'&page='.$next.'">下一页</a> <a href="'.$this->url.'&page='.$this->pages.'">末页</a> ';}else{return '';}}//开始 从多少条记录开始private function start(){return ($this->cpage-1)*$this->nums+1;}//结束 到多少条记录结束private function end(){return min($this->cpage*$this->nums,$this->total);}//当前显示的条数private function currnum(){return $this->end()-$this->start()+1;}//分页方法public function fpage(){$arr = func_get_args();$fpage ="";$pages[0]=" 共{$this->total}条记录 ";$pages[1]=" 本页显示".$this->currnum()."条记录 ";$pages[2]=" 从".$this->start()."-".$this->end()."条 ";$pages[3]=" {$this->cpage}/{$this->pages} ";$pages[4]=" ".$this->first()." ";$pages[5]=" ".$this->flist()." ";$pages[6]=" ".$this->last()." ";if(count($arr)<1)$arr = array(0,1,2,3,4,5,6);foreach($arr as $n){$fpage .= $pages[$n];}return $fpage;}}
调用分页类
include 'print.php';$page = new Page(1000,10);echo $page->fpage(6,4,5);
转载于:https://blog.51cto.com/11410485/1842273
PHP 分页类 高洛峰 细说PHP相关推荐
- 高洛峰ajax分页源码,PHP 分页类 高洛峰 细说PHP
分页类<?php //分页类 class Page{ private $total; //总记录数 private $nums; //每页显示的条数 privat ...
- PHP 自定义session储存 数据库 方式类 高洛峰 细说PHP
自定义session储存 数据库 方式类 在php.ini配置文件中更改设置 (Registered_save_handlers 有三种方式 files user memcache) session. ...
- PHP 自定义 Smarty 模板引擎类 高洛峰 细说PHP
smarty模板引擎类简单工作原理 利用Smarty 模板引擎类对模板文件中的变量进行编译,编译过程其实就是利用正则表达式翻译成PHP文件.例如 模板文件中{$title} 利用正则表达式找到并替换成 ...
- php 高洛峰 正则,PHP 自定义 Smarty 模板引擎类 高洛峰 细说PHP
smarty模板引擎类简单工作原理 利用Smarty 模板引擎类对模板文件中的变量进行编译,编译过程其实就是利用正则表达式翻译成PHP文件.例如 模板文件中{$title}利用正则表达式找到并替换成 ...
- php session 自定义到数据库,PHP 自定义session储存 数据库 方式类 高洛峰 细说PHP...
自定义session储存 数据库 方式类 在php.ini配置文件中更改设置 (Registered_save_handlers 有三种方式 files user memcache) session. ...
- php memcache内存大小,PHP memcache 内存缓存 数据库查询 应用 高洛峰 细说PHP
PHP memcache 内存缓存 数据库查询 应用 高洛峰 细说PHP 发布时间:2020-06-22 18:23:10 来源:51CTO 阅读:232 作者:津沙港湾 栏目:数据库 PHP mem ...
- PHP 异常类 Exception 高洛峰 细说PHP
/** 1.自定义的异常类,必须是系统类Exception的子类* 如果继承Exception类,重写了构造方法,一定要调用一下父类的构造方法.*/class MyException extends ...
- PHP 验证码 高洛峰 细说PHP
前端页面index.php <?php header('content-type:text/html;charset=utf-8'); if(isset($_POST['dosubmit'])) ...
- php高洛峰_PHP 验证码 高洛峰 细说PHP
前端页面index.php<?php header('content-type:text/html;charset=utf-8'); if(isset($_POST['dosubmit'])){ ...
最新文章
- 报名 | 飞速发展的个人消费信贷与风险控制讲座
- 程序员能力矩阵 Programmer Competency Matrix
- 20211201 (正定矩阵A+正定矩阵B)的最小特征值 ≥ 正定矩阵A的最小特征值+正定矩阵B的最小特征值
- JavaFX官方教程(十一)之动画基础
- 【BZOJ - 1059】矩阵游戏(二分图匹配,建图,最小边覆盖)
- github打开前端样式丢失_工具资源系列之 github 上各式各样的小徽章从何而来?...
- python 监控网页_python实时监控网页
- python怎么用for循环找出最大值_从“for in”循环中获取最小值和最大值
- 【luogu2272】 [ZJOI2007]最大半连通子图 [tarjan 缩点][拓扑排序]
- python起多进程服务_python 多进程详细总结
- Python 生成微信头图
- 交换机的工作原理是什么,它有什么功能与作用?
- ios保存gif到相册_iOS如何保存下载GIF图片
- 如何查看电脑本地IP+端口号
- width 与 height
- 巴别鱼雏形,谷歌推出端到端语音翻译技术,还能模仿你说话
- 无线笔记本怎么连接服务器打印机驱动,笔记本怎么连接无线打印机驱动程序
- 计算机多用户访问不同磁盘,win10系统实现多账户独享不同盘符的操作方法
- 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第三周题解(个人向仅供参考)
- 教你使用shell脚本打印五角星
热门文章
- day06 : 01 Oracle 体系结构概念,内存结构,内存结构(服务器进程和用户进程)
- 什么时候用转发什么时候用重定向_验孕棒什么时候用最准确
- jqprintsetup已经安装还会提示_英雄联盟PBE服务器安装指南 抢先体验新模式“云顶之弈”不用等...
- sas数据集怎么导出_[求助]如何导出sas数据集的标签?
- etsi计算机应用场景,ETSI发布最新版DVB数据广播规范,包括五大应用场景
- 网络运维基础之IP地址学习
- 设置在本文件里查找_Win 10 自带聚焦搜索?这么设置轻松查找电脑文件
- 防sql注入 php代码,完美的php防sql注入代码
- python一些常用方法_python 的一些常用方法
- 自动化监控--添加itme的web页面详解