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之Smarty入门
Jan 04 PHP
探讨:如何编写PHP扩展
Jun 13 PHP
深入PHP magic quotes的详解
Jun 17 PHP
php使用curl获取https请求的方法
Feb 11 PHP
PHP+jQuery+Ajax实现分页效果 jPaginate插件的应用
Oct 09 PHP
PHP实现递归无限级分类
Oct 22 PHP
php中session定期自动清理的方法
Nov 12 PHP
Zend Framework教程之Application和Bootstrap用法详解
Mar 10 PHP
php中请求url的五种方法总结
Jul 13 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
Apr 09 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
Sep 26 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
Oct 18 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 foreach循环使用详解与实例代码
2010/05/08 PHP
php页面消耗内存过大的处理办法
2013/03/18 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
2013/06/27 PHP
ThinkPHP文件上传实例教程
2014/08/22 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
js剪切板应用clipboardData实例解析
2016/05/29 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
bootstrap suggest下拉框使用详解
2017/04/10 Javascript
vue.js获取数据库数据实例代码
2017/05/26 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
2018/03/12 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
2018/09/19 Javascript
vue 中Virtual Dom被创建的方法
2019/04/15 Javascript
JS实现商品橱窗特效
2020/01/09 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
python读取注册表中值的方法
2013/04/08 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
2017/09/11 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
python使用folium库绘制地图点击框
2018/09/21 Python
对Python中Iterator和Iterable的区别详解
2018/10/18 Python
python 多线程将大文件分开下载后在合并的实例
2018/11/09 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
python3利用Axes3D库画3D模型图
2020/03/25 Python
python 实现图像快速替换某种颜色
2020/06/04 Python
windows10在visual studio2019下配置使用openCV4.3.0
2020/07/14 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
eBay意大利购物网站:eBay.it
2019/09/04 全球购物
波兰汽车配件网上商店:iParts.pl
2020/09/08 全球购物
便利店投资的创业计划书
2014/01/12 职场文书
2014年会策划方案
2014/05/11 职场文书
临时用工协议书范本
2014/10/29 职场文书
工厂清洁工岗位职责
2015/02/14 职场文书
留学推荐信英文范文
2015/03/26 职场文书