微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php自定义分页类

<?PHP
class Paging
{
    private $totalStrip;  //总条数
    private $pageStrip;   //每页条数
    private $totalPages;  //总页数
    private $url;         //当前页面的url
    private $NowPage;     //当前的页码
    private $aroundPage;  //当前页左右条数
    public function __construct($totalStrip,$pageStrip,$aroundPage)
    {
        $this->totalStrip = $totalStrip;           //总条数
        $this->pageStrip = $pageStrip??5;          //每页条数
        $this->totalPages = $this->getTotalPages();//总页数
        $this->url = $this->getUrl();              //当前页面的url
        $this->NowPage = $this->getNowPage();      //当前的页码
        $this->aroundPage = $aroundPage??2;        //当前页左右条数
    }
    //总页数
    private function getTotalPages()
    {
        return ceil($this->totalStrip/$this->pageStrip);
    }
    //当前页面的url
    private function getUrl()
    {
        return $_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
    }
    //当前的页码
    private function getNowPage()
    {
        return isset($_GET['page'])?$_GET['page']:1;
    }
    //首页
    private function firstPage()
    {
        return "<a href='{$this->url}?page=1'>首页</a>";
    }
    //上一页
    private function prevPage()
    {
        $prevPage = $this->NowPage - 1;
        return "<a href='{$this->url}?page={$prevPage}'>上一页</a>";
    }
    //当前页之前
    private function leftPage()
    {
        $str = '';
        for($i=$this->aroundPage; $i >= 1; $i--){
            $Page = $this->NowPage-$i;
            if($Page > 0){
                $str .= "<a href='{$this->url}?page=$Page'>$Page</a>";
            }

        }
        return $str;
    }
    //当前页
    private function toNowPage()
    {
        return "<a>$this->NowPage</a>";
    }
    //当前页之后
    private function rightPage()
    {
        $str = '';
        for($i=1; $i <= $this->aroundPage; $i++){
            $Page = $this->NowPage+$i;
            if($Page < $this->totalPages) {
                $str .= "<a href='{$this->url}?page=$Page'>$Page</a>";
            }
        }
        return $str;
    }
    //下一页
    private function nextPage()
    {
        $nextPage = $this->NowPage + 1;
        return "<a href='{$this->url}?page={$nextPage}'>下一页</a>";
    }
    //尾页
    private function lastPage()
    {
        return "<a href='{$this->url}?page=$this->totalPages'>尾页</a>";
    }
    public function show()
    {
        $str = "";
        if($this->NowPage > 1){
            $str .= $this->firstPage();
            $str .= $this->prevPage();
            $str .= $this->leftPage();
        }


        $str .= $this->toNowPage();
        if($this->NowPage < $this->totalPages){
            $str .= $this->rightPage();
            $str .= $this->nextPage();
            $str .= $this->lastPage();
        }

        return $str;
    }
}
//$a = new Paging(20,3,2);
//echo $a->show();

  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐