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 相关文章推荐
smarty 原来也不过如此~~呵呵
Nov 25 PHP
php GD绘制24小时柱状图
Jun 28 PHP
php生成xml简单实例代码
Dec 16 PHP
用php或asp创建网页桌面快捷方式的代码
Mar 23 PHP
PHP无刷新上传文件实现代码
Sep 19 PHP
PHP随机生成随机个数的字母组合示例
Jan 14 PHP
php实现简单的上传进度条
Nov 17 PHP
php文档工具PHP Documentor安装与使用方法
Jan 25 PHP
php实现登陆模块功能示例
Oct 20 PHP
PHP foreach遍历多维数组实现方式
Nov 16 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
Sep 29 PHP
PHP+iframe模拟Ajax上传文件功能示例
Jul 02 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
php 攻击方法之谈php+mysql注射语句构造
2009/10/30 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
php清除和销毁session的方法分析
2015/03/19 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
jquery dialog open后,服务器端控件失效的快速解决方法
2013/12/19 Javascript
jquery ztree实现下拉树形框使用到了json数据
2014/05/14 Javascript
提升PHP安全:8个必须修改的PHP默认配置
2014/11/17 Javascript
JavaScript中三种异步上传文件方式
2016/03/06 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
2017/10/19 jQuery
Angular实现的进度条功能示例
2018/02/18 Javascript
微信小程序中的canvas 文字断行和省略号显示功能的处理方法
2018/11/14 Javascript
微信小程序实现获取小程序码和二维码java接口开发
2019/03/29 Javascript
小程序实现短信登录倒计时
2019/07/12 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
Python中文编码那些事
2014/06/25 Python
Python初学时购物车程序练习实例(推荐)
2017/08/08 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
Django缓存Cache使用详解
2020/11/30 Python
css3 仿写阿里云水纹效果的示例代码
2018/02/10 HTML / CSS
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
西班牙自行车和跑步商店:Alltricks
2018/07/07 全球购物
区域总监的岗位职责
2013/11/21 职场文书
户籍证明的格式
2014/01/13 职场文书
市场营销毕业生自荐信范文
2014/04/01 职场文书
电子商务专业自荐信
2014/06/02 职场文书
十佳少先队员演讲稿
2014/09/12 职场文书
城管执法人员纪律作风整顿思想汇报
2014/09/13 职场文书
小学感恩主题班会
2015/08/12 职场文书
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL
Tomcat配置访问日志和线程数
2022/05/06 Servers