PHP封装的完整分页类示例

所属分类: 网络编程 / PHP编程 阅读数: 1760
收藏 0 赞 0 分享

本文实例讲述了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+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP网络编程技巧总结》及《php常见数据库操作技巧汇总

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

更多精彩内容其他人还在看

php实现在服务器端调整图片大小的方法

这篇文章主要介绍了php实现在服务器端调整图片大小的方法,实例分析了imageResizer与loadimage操作图片的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php动态绑定变量的用法

这篇文章主要介绍了php动态绑定变量的用法,涉及php变量的判定与动态定义的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php实现读取和写入tab分割的文件

这篇文章主要介绍了php实现读取和写入tab分割的文件,涉及php文件读写及字符串操作的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php正则preg_replace_callback函数用法实例

这篇文章主要介绍了php正则preg_replace_callback函数用法,实例分析了preg_replace_callback函数进行正则替换的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php将字符串随机分割成不同长度数组的方法

这篇文章主要介绍了php将字符串随机分割成不同长度数组的方法,涉及随机数及字符串操作的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php自动给网址加上链接的方法

这篇文章主要介绍了php自动给网址加上链接的方法,可实现对本文中的网址加上链接的功能,涉及正则匹配的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php使用socket post数据到其它web服务器的方法

这篇文章主要介绍了php使用socket post数据到其它web服务器的方法,涉及php使用socket传输数据的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

PHP使用递归方式列出当前目录下所有文件的方法

这篇文章主要介绍了PHP使用递归方式列出当前目录下所有文件的方法,涉及php递归操作文件的相关技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

php获取指定范围内最接近数的方法

这篇文章主要介绍了php获取指定范围内最接近数的方法,可实现根据给定区间长度划分各个区间,并在其中寻找与给定数最接近的数,需要的朋友可以参考下
收藏 0 赞 0 分享

php使用ob_flush不能每隔一秒输出原理分析

这篇文章主要介绍了php使用ob_flush不能每隔一秒输出原理,较为详细的分析了php使用ob_flush的相关原理与Linux下使用cli方式的使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多