PHP封装的完整分页类示例


Posted in PHP onAugust 21, 2018

本文实例讲述了PHP封装的完整分页类。分享给大家供大家参考,具体如下:

<?php 
class pageclass{
  private $total;   //总记录
  private $pagesize;   //每页显示多少条
  private $limit;    //limit
  private $page;    //当前页
  private $pagenum;  //总页码
  private $url;    //地址
  public function __construct($_total,$_pagesize,$page){
    $this->total = $_total ? $_total :1 ;  //总条数
    $this->pagesize = $_pagesize;      //每页显示多少条
    $this->page = $page;          //当前页码
    $this->pagenum = ceil($this->total / $this->pagesize);  //总页码
    $this->limit = "limit ".($this->page-1)*$this->pagesize.",".$this->pagesize;  //分页语句
    $this->url = $this->setUrl();  //地址
  }
  //分页语句
  public function limit(){
    return $this->limit;
  }
  //当前的url地址
  public function setUrl(){
    $server = $_SERVER['REQUEST_URI'];
    $im = explode('/',$server);
    if(empty($_SERVER['PATH_INFO'])){
      $array = array_splice($im,2,0,array('2'=>'index.php'));
    }
    $controller = $im[3];
    $action = $im[4];
    if(empty($_SERVER['PATH_INFO'])){
      $servers = "http://".$_SERVER['HTTP_HOST']."/".$im[1]."/".$controller."/".$action."/";
    }else{
      $servers = "http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."/".$controller."/".$action."/";
    }
    return $servers;
    //return $im;
  }
  //首页
  public function first(){
    //return $this->page;
    if($this->page > 1){
      return "<a href='".$this->url."page/1'>首页</a>";
    }
  }
  //上一页
  public function prev(){
    if($this->page==1){
      $page = 1;
    }else{
      $page = $this->page-1;
    }
    if($this->page > 1){
      return "<a href='".$this->url."page/".$page."'>上一页</a>";
    }else{
      return "<span class='disabled'>上一页</span>";
    }
  }
  //下一页
  public function next(){
    $page = $this->page+1;
    if($this->page < $this->pagenum){
      if(empty($this->page)){
        $pages = $this->page+2;
        return "<a href='".$this->url."page/".$pages."'>下一页</a>";
      }else{
        return "<a href='".$this->url."page/".$page."'>下一页</a>";
      }
    }else{
      return "<span class='disabled'>下一页</span>";
    }
  }
  //尾页
  public function last(){
    if($this->page < $this->pagenum){
      return "<a href='".$this->url."page/".$this->pagenum."'>尾页</a>";
    }
  }
  //分页
  public function showpage(){
    $page_ = "";
    $page_ .= $this->first();
    $page_ .= " ".$this->prev();
    $page_ .= " ".$this->next();
    $page_ .= " ".$this->last();
    return $page_;
  }
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
小偷PHP+Html+缓存
Dec 20 PHP
PHP 分页类(模仿google)-面试题目解答
Sep 13 PHP
PHP foreach循环使用详解与实例代码
May 08 PHP
php jq jquery getJSON跨域提交数据完整版
Sep 13 PHP
自己写的兼容低于PHP 5.5版本的array_column()函数
Oct 24 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
Mar 18 PHP
php实现的简单中文验证码功能示例
Jan 03 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
PHP children()函数讲解
Feb 03 PHP
php策略模式简单示例分析【区别于工厂模式】
Sep 25 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 PHP
php代码调试利器firephp安装与使用方法分析
Aug 21 #PHP
CodeIgniter框架钩子机制实现方法【hooks类】
Aug 21 #PHP
PHP依赖注入原理与用法分析
Aug 21 #PHP
PHP 二维array转换json的实例讲解
Aug 21 #PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
Aug 21 #PHP
php 将json格式数据转换成数组的方法
Aug 21 #PHP
php正确输出json数据的实例讲解
Aug 21 #PHP
You might like
给多个地址发邮件的类
2006/10/09 PHP
PHP新手上路(十三)
2006/10/09 PHP
PHP执行批量mysql语句的解决方法
2013/05/02 PHP
PHP的Yii框架中YiiBase入口类的扩展写法示例
2016/03/17 PHP
YII框架http缓存操作示例
2019/04/29 PHP
通过Mootools 1.2来操纵HTML DOM元素
2009/09/15 Javascript
jquery Moblie入门—hello world的示例代码学习
2013/01/08 Javascript
jQuery中delegate与on的用法与区别示例介绍
2013/12/20 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
jQuery 和 CSS 的文本特效插件集锦
2014/12/12 Javascript
jquery分页优化操作实例分析
2019/08/23 jQuery
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
js实现有趣的倒计时效果
2021/01/19 Javascript
python中Genarator函数用法分析
2015/04/08 Python
Python的Django中将文件上传至七牛云存储的代码分享
2016/06/03 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
解决Python内层for循环如何break出外层的循环的问题
2019/06/24 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
keras用auc做metrics以及早停实例
2020/07/02 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
python 字符串格式化的示例
2020/09/21 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
matplotlib对象拾取事件处理的实现
2021/01/14 Python
群胜软件Java笔试题
2012/09/29 面试题
大学本科毕业生的自我鉴定范文
2013/11/19 职场文书
民族精神月活动总结
2014/08/28 职场文书
售后客服个人自我评价
2014/09/14 职场文书
2014入党积极分子破除“四风”思想汇报
2014/09/14 职场文书
公务员上班玩游戏检讨书
2014/09/17 职场文书
计划生育工作总结2015
2015/04/03 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
庆祝教师节主持词
2015/07/06 职场文书
护士岗位竞聘书
2015/09/15 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
Spring Boot接口定义和全局异常统一处理
2022/04/20 Java/Android