分页类

<?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>&nbsp;&nbsp;<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      .=  '&nbsp;<a href="'.$this->url.'&page='.$page.'">'.$page.'</a>&nbsp;';}}//当前页的设置if($this->pages>1){$list   .='&nbsp;'.$this->cpage.'&nbsp;';}//当前页之后的设置for($i=1;$i <=$num;$i++){$page   =   $this->cpage+$i;if($page <= $this->pages){$list      .=  '&nbsp;<a href="'.$this->url.'&page='.$page.'">'.$page.'</a>&nbsp;';}else{break;}                            }return $list;}//末页private function last(){if($this->cpage < $this->pages){$next    =   $this->cpage+1;return '<a href="'.$this->url.'&page='.$next.'">下一页</a>&nbsp;&nbsp;<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]="&nbsp;共{$this->total}条记录&nbsp;";$pages[1]="&nbsp;本页显示".$this->currnum()."条记录&nbsp;";$pages[2]="&nbsp;从".$this->start()."-".$this->end()."条&nbsp;";$pages[3]="&nbsp;{$this->cpage}/{$this->pages}&nbsp;";$pages[4]="&nbsp;".$this->first()."&nbsp;";$pages[5]="&nbsp;".$this->flist()."&nbsp;";$pages[6]="&nbsp;".$this->last()."&nbsp;";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相关推荐

  1. 高洛峰ajax分页源码,PHP 分页类 高洛峰 细说PHP

    分页类<?php //分页类 class Page{ private $total;          //总记录数 private $nums;        //每页显示的条数 privat ...

  2. PHP 自定义session储存 数据库 方式类   高洛峰 细说PHP

    自定义session储存 数据库 方式类 在php.ini配置文件中更改设置 (Registered_save_handlers 有三种方式 files user memcache) session. ...

  3. PHP 自定义 Smarty 模板引擎类 高洛峰 细说PHP

    smarty模板引擎类简单工作原理 利用Smarty 模板引擎类对模板文件中的变量进行编译,编译过程其实就是利用正则表达式翻译成PHP文件.例如 模板文件中{$title} 利用正则表达式找到并替换成 ...

  4. php 高洛峰 正则,PHP 自定义 Smarty 模板引擎类 高洛峰 细说PHP

    smarty模板引擎类简单工作原理 利用Smarty 模板引擎类对模板文件中的变量进行编译,编译过程其实就是利用正则表达式翻译成PHP文件.例如 模板文件中{$title}利用正则表达式找到并替换成 ...

  5. php session 自定义到数据库,PHP 自定义session储存 数据库 方式类   高洛峰 细说PHP...

    自定义session储存 数据库 方式类 在php.ini配置文件中更改设置 (Registered_save_handlers 有三种方式 files user memcache) session. ...

  6. php memcache内存大小,PHP memcache 内存缓存 数据库查询 应用 高洛峰 细说PHP

    PHP memcache 内存缓存 数据库查询 应用 高洛峰 细说PHP 发布时间:2020-06-22 18:23:10 来源:51CTO 阅读:232 作者:津沙港湾 栏目:数据库 PHP mem ...

  7. PHP 异常类 Exception 高洛峰 细说PHP

    /** 1.自定义的异常类,必须是系统类Exception的子类* 如果继承Exception类,重写了构造方法,一定要调用一下父类的构造方法.*/class MyException extends ...

  8. PHP 验证码   高洛峰 细说PHP

    前端页面index.php <?php header('content-type:text/html;charset=utf-8'); if(isset($_POST['dosubmit'])) ...

  9. php高洛峰_PHP 验证码   高洛峰 细说PHP

    前端页面index.php<?php header('content-type:text/html;charset=utf-8'); if(isset($_POST['dosubmit'])){ ...

最新文章

  1. 报名 | 飞速发展的个人消费信贷与风险控制讲座
  2. 程序员能力矩阵 Programmer Competency Matrix
  3. 20211201 (正定矩阵A+正定矩阵B)的最小特征值 ≥ 正定矩阵A的最小特征值+正定矩阵B的最小特征值
  4. JavaFX官方教程(十一)之动画基础
  5. 【BZOJ - 1059】矩阵游戏(二分图匹配,建图,最小边覆盖)
  6. github打开前端样式丢失_工具资源系列之 github 上各式各样的小徽章从何而来?...
  7. python 监控网页_python实时监控网页
  8. python怎么用for循环找出最大值_从“for in”循环中获取最小值和最大值
  9. 【luogu2272】 [ZJOI2007]最大半连通子图 [tarjan 缩点][拓扑排序]
  10. python起多进程服务_python 多进程详细总结
  11. Python 生成微信头图
  12. 交换机的工作原理是什么,它有什么功能与作用?
  13. ios保存gif到相册_iOS如何保存下载GIF图片
  14. 如何查看电脑本地IP+端口号
  15. width 与 height
  16. 巴别鱼雏形,谷歌推出端到端语音翻译技术,还能模仿你说话
  17. 无线笔记本怎么连接服务器打印机驱动,笔记本怎么连接无线打印机驱动程序
  18. 计算机多用户访问不同磁盘,win10系统实现多账户独享不同盘符的操作方法
  19. 中国大学MOOC C语言程序设计(大连理工大学) 课后编程题 第三周题解(个人向仅供参考)
  20. 教你使用shell脚本打印五角星

热门文章

  1. day06 : 01 Oracle 体系结构概念,内存结构,内存结构(服务器进程和用户进程)
  2. 什么时候用转发什么时候用重定向_验孕棒什么时候用最准确
  3. jqprintsetup已经安装还会提示_英雄联盟PBE服务器安装指南 抢先体验新模式“云顶之弈”不用等...
  4. sas数据集怎么导出_[求助]如何导出sas数据集的标签?
  5. etsi计算机应用场景,ETSI发布最新版DVB数据广播规范,包括五大应用场景
  6. 网络运维基础之IP地址学习
  7. 设置在本文件里查找_Win 10 自带聚焦搜索?这么设置轻松查找电脑文件
  8. 防sql注入 php代码,完美的php防sql注入代码
  9. python一些常用方法_python 的一些常用方法
  10. 自动化监控--添加itme的web页面详解