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 相关文章推荐
初学者入门:细述PHP4的核心Zend
Sep 05 PHP
Apache2 httpd.conf 中文版
Nov 17 PHP
yii实现CheckBox复选框在同一行显示的方法
Dec 03 PHP
php使用PDO方法详解
Dec 27 PHP
php绘图之生成饼状图的方法
Jan 24 PHP
PHP Streams(流)详细介绍及使用
May 12 PHP
php实现爬取和分析知乎用户数据
Jan 26 PHP
PHP基于GD库的图像处理方法小结
Sep 27 PHP
php表单加入Token防止重复提交的方法分析
Oct 10 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
Apr 05 PHP
PHP钩子实现方法解析
May 21 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
Oct 22 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中include()与require()的区别说明
2010/03/10 PHP
php XPath对XML文件查找及修改实现代码
2011/07/27 PHP
php中magic_quotes_gpc对unserialize的影响分析
2014/12/16 PHP
PHP设计模式之建造者模式定义与用法简单示例
2018/08/13 PHP
PHP addslashes()函数讲解
2019/02/03 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
JS采用绝对定位实现回到顶部效果完整实例
2016/06/20 Javascript
js简单时间比较的方法
2016/08/02 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
javascript过滤数组重复元素的实现方法
2017/05/03 Javascript
bootstrap基本配置_动力节点Java学院整理
2017/07/14 Javascript
详解Node 定时器
2018/02/26 Javascript
Vue 页面跳转不用router-link的实现代码
2018/04/12 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
Vue分页插件的前后端配置与使用
2019/10/09 Javascript
原生js实现随机点餐效果
2019/12/10 Javascript
Echarts实现多条折线可拖拽效果
2019/12/19 Javascript
js实现简单的轮播图效果
2020/12/13 Javascript
jquery实现图片放大镜效果
2020/12/23 jQuery
基于python的列表list和集合set操作
2019/11/24 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
Java byte数组操纵方式代码实例解析
2020/07/22 Python
python实现单机五子棋
2020/08/28 Python
Python Opencv实现单目标检测的示例代码
2020/09/08 Python
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
New Balance天猫官方旗舰店:始于1906年,百年慢跑品牌
2017/11/15 全球购物
Pure Collection美国官网:来自英国羊绒专家的奢华羊绒
2017/11/19 全球购物
双方协议书
2014/04/22 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书
复活读书笔记
2015/06/29 职场文书
2015年女工委工作总结
2015/07/27 职场文书