当前位置:首页 > 技术文档 > 正文内容

php简单分页类

admin12年前 (2015-05-18)技术文档1647
<?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;
  
  
?>


分享到:

扫描二维码推送至手机访问。

版权声明:本文由云河空间发布,如需转载请注明出处。

本文链接:https://yuyunhe.cn/index.php/post/42.html

分享给朋友:

“php简单分页类” 的相关文章

PHP分页函数仿Google分页

/**  * 分页函数  * @param int $total    总页数  * @param int $pagesize 每页几条 &n...

php获取从百度搜索进入网站的关键词

<?php    function search_word_from() {     $referer = isset($_SERVER['HTTP_REFERER'])?...

抓取最近八天天气(非利用接口,直接从网站提取)

<?php    /*     *特别注意,第一天没有最高气温数据,第八天没有最低气温数据     *注意对数字进行过滤时不要忘记对负号进行判断   &nb...

利用ctrl+v实现粘贴截图完成上传功能

<?php header("Access-Control-Allow-Origin:*"); $url  = 'http://'.$_SERVER['HTTP_HOST']; $file =&nb...

git的几个小技巧

git的几个小技巧

分享git的几个小技巧,后面会根据使用补充。目前包括git撤销本地修改、git回退到前n个版本、git多用户提交冲突解决、git 命令简化。欢迎大家补充^_*1、git撤销本地修改 Java git reset --hard origin/ma...

ThinkPHP分页的实现

分页类需要和查询相结合,我们可以使用ThinkPHP自带的limit方法或者page方法,目的就是为了获取当前分页的数据(也有先获取完整数据然后前端分页显示的方法,不在本文描述内容中,也不建议)。使用limit方法或者page方法是和数据库类型无关的。我们首先在数据库里面创建一个think_data...

发表评论

访客

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