class Page{

private $total; //数据总条数

private $listRows; //每页显示条数

private $limit; //限制条数

private $pageNum; //总页数

private $page; //当前页

private $config=array('head'=>"条记录", "prev"=>"上一页", "next"=>"下一页", "first"=>"首页", "last"=>"末页");

/**

* 构造方法,可以设置分页类的属性

* @param int $total 计算分页的总记录数

* @param int $listRows 可选的,默认每页需要显示的记录数

*

*/

public function __construct($total,$listRows=10){

$this->total=$total;

$this->listRows=$listRows;

$this->pageNum=ceil($this->total/$this->listRows); //获取总页数

if($_GET['page']>$this->pageNum){ //防止过界

$_GET['page']=$this->pageNum;

}

$this->page=!empty($_GET['page'])?$_GET['page']:"1"; //当前页

$this->limit=$this->setPage(); //分页公式

}

public function __get($args){

if($args=='limit'){ //过滤非法请求

return $this->limit;

}

return null;

}

//计算分页公式

private function setPage(){

return "limit ".($this->page-1)*$this->listRows.",".$this->listRows;

}

//上一页

private function prev(){

return "".$this->config['prev']."";

}

//下一页

private function next(){

return "".$this->config['next']."";

}

//首页

private function first(){

return "".$this->config['first']."";

}

//尾页

private function last(){

return "".$this->config['last']."";

}

//分页列表

private function pagelist(){

$lists.='';

for($i=1;$ipageNum;$i++){

$lists.="$i ";

}

return $lists;

}

public function fpage($display=array(1,2,3,4,5)){

$html[1]= "共有".$this->total.$this->config['head'];

$html[2]= $this->prev(); //上一页

$html[3]= $this->next(); //下一页

$html[4]= $this->first(); //首页

$html[5]= $this->last(); //尾页

$html[6]= $this->pagelist(); //列表

$fpage='';

foreach($display as $index){

$fpage.=$html[$index];

}

return $fpage;

}

}

php 完美分页,php完美分页类程序相关推荐

  1. 分页的php处理,分页处理的PHP类

    分页处理的PHP类 namespace JasonGrimes; class Paginator { const NUM_PLACEHOLDER = '(:num)'; protected $tota ...

  2. 【Flask项目2】python对象分页数据序列化基类(5)

    comment-utils-serializer.py文件 class BasePaginateSerializer(object):"""分页数据序列化基类" ...

  3. ThinkPHP3验证码、文件上传、缩略图、分页(自定义工具类、session和cookie)

    验证码 TP框架中自带了验证码类 位置:Think/verify.class.php 在LoginController控制器中创建生存验证码的方法 login.html登陆模板中 在LoginCont ...

  4. 分页封装实用工具类及其使用方法

    分页封装实用工具类及其使用方法 作者: javaboy2012 Email:yanek@163.com qq:    1046011462 package com.yanek.util; import ...

  5. 第7章 分页之模型分页(物理分页)

    模型分页主要通过前端页面中的分页控件,向后端指定路由(控制器行为方法),传递相等的参数,然后间接的通过后端程序从数据库指定表中获取一些指定行的数据,然后把这些数据在前端页面渲染显示出来.模型分页的主要 ...

  6. 【第二版】RichFaces中使用datatable和datascroller进行分页(使用数据库分页,改良版)(含源码)(JSF 1.2,RichFaces 3.2.1GA)

    之前第一版有个问题,就是如果进行了删除等操作并立即返回列表页,被删除的项还在那,但其实数据库已经被删除了,需要做一个刷新列表操作才可以,本版就是修正此问题的. 如果要修正此问题,就需要将分页的扩展代码 ...

  7. 数据分页 THINKPHP3.2 分页 三种分页方法

    数据分页复制本页链接opensns 通常在数据查询后都会对数据集进行分页操作,ThinkPHP也提供了分页类来对数据分页提供支持. 下面是数据分页的两种示例.第一种:利用Page类和limit方法$U ...

  8. bootstraptable控制分页_bootstrap table分页(前后端两种方式实现)

    bootstrap table分页的两种方式: 前端分页:一次性从数据库查询所有的数据,在前端进行分页(数据量小的时候或者逻辑处理不复杂的话可以使用前端分页) 服务器分页:每次只查询当前页面加载所需要 ...

  9. DRF url控制 解析器 响应器 版本控制 分页(常规分页,偏移分页,cursor游标分页)...

    url控制 第二种写法(只要继承了ViewSetMixin) url(r'^pub/$',views.Pub.as_view({'get':'list','post':'create'})), #获取 ...

  10. java sql分页_mysql、sqlserver、oracle分页,java分页统一接口实现

    定义:pageStart 起始页,pageEnd 终止页,pageSize页面容量 oracle分页: select * from ( select mytable.*,rownum num from ...

最新文章

  1. 个推数据统计产品(个数)iOS集成实践
  2. 统计ES性能的python脚本
  3. 总结Python机器学习中的回归算法
  4. 使用Sniffer截获流经本机网卡的IP数据包
  5. mybatis中foreach标签详解
  6. java上传文件以流方式判断类型
  7. Jquery 操作select总结
  8. 部编版是什么版本_部编版是人教版吗
  9. Javascript设计模式与开发实践读书笔记(1-3章)
  10. 【Docker】WARNING: Published ports are discarded when using host network mode
  11. linux系统下卸载rpm方式安装的mysql5.7.*
  12. 高等数学所有符号的写法与读法
  13. Linux安装Tab键补全功能
  14. 沃尔玛承压,TJX、唯品会稳健,折扣零售是行业“抗压”能手?
  15. 树莓派4B安装系统及开热点
  16. java happen-before_java 内存模型中的happen-before 是什么?
  17. 优秀录屏工具:Screenium 3 for Mac
  18. 加密通信(三):CA证书
  19. 微信、支付宝付款码规则
  20. GSR-ISAC 05规避本振泄露

热门文章

  1. Light OJ 1406 Assassin`s Creed 减少国家DP+支撑点甚至通缩+最小路径覆盖
  2. 上传Text文档并转换为PDF
  3. Logistic回归 python实现
  4. 如何用distinct消除重复记录的同时又能选取多个字段值?
  5. echarts 多次通过setOption改变图形数据时 数据有时不进行变化
  6. 微信小程序模仿开眼视频app(一)——视频首页、视频详情、分类
  7. MySQL via EF6 的试用报告
  8. docker supervisor + compose
  9. JAXB和XStream比较
  10. 强制html元素不随窗口缩小而换行