php简单分页类

admin10年前技术文档1633
<?php
class page{
      
    public $page; //当前页
    public $pagenum;  // 页数
    public $pagesize;  // 每页显示条数
    public function __construct($count, $pagesize){
        $this->pagenum = ceil($count/$pagesize);
        $this->pagesize = $pagesize;
        $this->page =(isset($_GET['p'])&&$_GET['p']>0) ? intval($_GET['p']) : 1;
    }
    /**
     * 获得 url 后面GET传递的参数
     */
    public function getUrl(){   
        $url = 'index.php?'.http_build_query($_GET);
        $url = preg_replace('/[?,&]p=(\w)+/','',$url);
        $url .= (strpos($url,"?") === false) ? '?' : '&';
        return $url;
    }
    /**
     * 获得分页HTML
     */
    public function getPage(){
        $url = $this->getUrl();
        $start = $this->page-5;
        $start=$start>0 ? $start : 1; 
        $end   = $start+9;
        $end = $end<$this->pagenum ? $end : $this->pagenum;
        $pagestr = '';
        if($this->page>5){
            $pagestr = "<a href=".$url."p=1".">首页</a> ";
        }
        if($this->page!=1){
            $pagestr.= "<a href=".$url."p=".($this->page-1).">上一页</a>";
        }
          
        for($i=$start;$i<=$end;$i++){
            $pagestr.= "<a href=".$url."p=".$i.">".$i."</a>  ";                     
        }
        if($this->page!=$this->pagenum){
            $pagestr.="<a href=".$url."p=".($this->page+1).">下一页</a>";
              
        }
        if($this->page+5<$this->pagenum){
            $pagestr.="<a href=".$url."p=".$this->pagenum.">尾页</a> ";
        }
        return $pagestr;    
    }
      
}
// 测试代码
$page = new page(100,10);
$str=$page->getPage();
echo $str;
  
  
?>


分享到:

相关文章

Linux下Web服务器环境搭建LNMP一键安装包 v2.6[20141224更新]

Linux下Web服务器环境搭建LNMP一键安装包 v2.6[20141224更新]

系统需求:CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系统需要3GB以上硬盘剩余空间128M以上内存,Xen的需要有SWAP,OpenVZ的另外至少要...

MySQL定时备份之使用Linux下的crontab定时备份实例

这篇文章主要介绍了使用Linux下的crontab进行MySQL定时备份的例子,需要的朋友可以参考下1. Mysql备份某个数据库的命令复制代码代码如下:#######################...

LNMP一键安装包安装以及常用的SSH命令使用整理

LNMP一键安装包安装以及常用的SSH命令使用整理

如果我们使用Linux VPS主机肯定会有接触到一键安装包,比如我们接触较多的就是LAMP、LNMP、LLSMP等。麦子翻看以前的文章毕竟分享的虚拟主机较多一些,VPS 主机类的教程相对少很多(...

在Windows下为PHP5.6安装redis扩展和memcached扩展

在Windows下为PHP5.6安装redis扩展和memcached扩展

一.php安装redis扩展 1.使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本   2.根据PHP版本号,编译器版本号和CPU架构,选择...

TP 查询缓存

<?php     function cache_data($sql){      &nb...

php使用Session和文件统计在线人数

<?php  /*  @ PHP 在线人数统计程序  Copyright (c) by Pader ...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。