php 完美分页,php完美分页类程序
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完美分页类程序相关推荐
- 分页的php处理,分页处理的PHP类
分页处理的PHP类 namespace JasonGrimes; class Paginator { const NUM_PLACEHOLDER = '(:num)'; protected $tota ...
- 【Flask项目2】python对象分页数据序列化基类(5)
comment-utils-serializer.py文件 class BasePaginateSerializer(object):"""分页数据序列化基类" ...
- ThinkPHP3验证码、文件上传、缩略图、分页(自定义工具类、session和cookie)
验证码 TP框架中自带了验证码类 位置:Think/verify.class.php 在LoginController控制器中创建生存验证码的方法 login.html登陆模板中 在LoginCont ...
- 分页封装实用工具类及其使用方法
分页封装实用工具类及其使用方法 作者: javaboy2012 Email:yanek@163.com qq: 1046011462 package com.yanek.util; import ...
- 第7章 分页之模型分页(物理分页)
模型分页主要通过前端页面中的分页控件,向后端指定路由(控制器行为方法),传递相等的参数,然后间接的通过后端程序从数据库指定表中获取一些指定行的数据,然后把这些数据在前端页面渲染显示出来.模型分页的主要 ...
- 【第二版】RichFaces中使用datatable和datascroller进行分页(使用数据库分页,改良版)(含源码)(JSF 1.2,RichFaces 3.2.1GA)
之前第一版有个问题,就是如果进行了删除等操作并立即返回列表页,被删除的项还在那,但其实数据库已经被删除了,需要做一个刷新列表操作才可以,本版就是修正此问题的. 如果要修正此问题,就需要将分页的扩展代码 ...
- 数据分页 THINKPHP3.2 分页 三种分页方法
数据分页复制本页链接opensns 通常在数据查询后都会对数据集进行分页操作,ThinkPHP也提供了分页类来对数据分页提供支持. 下面是数据分页的两种示例.第一种:利用Page类和limit方法$U ...
- bootstraptable控制分页_bootstrap table分页(前后端两种方式实现)
bootstrap table分页的两种方式: 前端分页:一次性从数据库查询所有的数据,在前端进行分页(数据量小的时候或者逻辑处理不复杂的话可以使用前端分页) 服务器分页:每次只查询当前页面加载所需要 ...
- DRF url控制 解析器 响应器 版本控制 分页(常规分页,偏移分页,cursor游标分页)...
url控制 第二种写法(只要继承了ViewSetMixin) url(r'^pub/$',views.Pub.as_view({'get':'list','post':'create'})), #获取 ...
- java sql分页_mysql、sqlserver、oracle分页,java分页统一接口实现
定义:pageStart 起始页,pageEnd 终止页,pageSize页面容量 oracle分页: select * from ( select mytable.*,rownum num from ...
最新文章
- 个推数据统计产品(个数)iOS集成实践
- 统计ES性能的python脚本
- 总结Python机器学习中的回归算法
- 使用Sniffer截获流经本机网卡的IP数据包
- mybatis中foreach标签详解
- java上传文件以流方式判断类型
- Jquery 操作select总结
- 部编版是什么版本_部编版是人教版吗
- Javascript设计模式与开发实践读书笔记(1-3章)
- 【Docker】WARNING: Published ports are discarded when using host network mode
- linux系统下卸载rpm方式安装的mysql5.7.*
- 高等数学所有符号的写法与读法
- Linux安装Tab键补全功能
- 沃尔玛承压,TJX、唯品会稳健,折扣零售是行业“抗压”能手?
- 树莓派4B安装系统及开热点
- java happen-before_java 内存模型中的happen-before 是什么?
- 优秀录屏工具:Screenium 3 for Mac
- 加密通信(三):CA证书
- 微信、支付宝付款码规则
- GSR-ISAC 05规避本振泄露