在浏览网页时,经常会遇到分页导航的情况。分页导航主要有四个作用:告诉用户要浏览的信息 量;让用户快速跳过一些不想看的信息;便于定位和查找;减少页面大小,提高加载速度。此外,分页导航实际上还给了浏览网页的用户一定的停顿,可以让产品" 更有节奏感",减少用户浏览的疲劳感

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 = "$url."p=1".">首页 ";
        }
        if($this->page!=1){
            $pagestr.= "$url."p=".($this->page-1).">上一页";
        }
         
        for($i=$start;$i<=$end;$i++){
            $pagestr.= "$url."p=".$i.">".$i."  ";                    
        }
        if($this->page!=$this->pagenum){
            $pagestr.="$url."p=".($this->page+1).">下一页";
             
        }
        if($this->page+5<$this->pagenum){
            $pagestr.="$url."p=".$this->pagenum.">尾页 ";
        }
        return $pagestr;   
    }
     
}
// 测试代码
$page = new page(100,10);
$str=$page->getPage();
echo $str;
 
 
?>

 

稳定

产品高可用性高并发

贴心

项目群及时沟通

专业

产品经理1v1支持

快速

MVP模式小步快跑

承诺

我们选择声誉

坚持

10年专注高端品质开发
  • 返回顶部