PHP小程序--分页

来源:互联网 发布:苹果电脑怎么用淘宝 编辑:程序博客网 时间:2024/06/07 02:58
<?phpclass Page{    private $total;     //总记录    private $pagesize;  //每页显示多少条    private $page;      //当前页码    private $pagenum;       //总页码    private $url;       //地址    private $bothnum;       //两边保持数字分页的量    //构造方法初始化    public function __construct($_total, $_pagesize)    {        $this->total = $_total ? $_total : 1;        $this->pagesize = $_pagesize;        $this->pagenum = ceil($this->total / $this->pagesize);        $this->page = $this->setPage();        $this->url = $this->setUrl();        $this->bothnum = 2;    }    //拦截器    public function __get($_key)    {        return $this->$_key;    }    //获取当前页码    private function setPage()    {        $pagenow = !empty($_GET['page']) && $_GET['page'] > 0 ? $_GET['page'] : 1;        if ($pagenow > $this->pagenum)            return $this->pagenum;        else            return $pagenow;    }    //获取地址    private function setUrl()    {        $_url = $_SERVER["REQUEST_URI"];        $_par = parse_url($_url);        if (isset($_par['query'])) {            parse_str($_par['query'], $_query);            unset($_query['page']);            $_url = $_par['path'] . '?' . http_build_query($_query);        } else {            $_url .= '?';        }        return $_url;    }    //数字目录    private function pageList()    {        $_pagelist = '';        for ($i = $this->bothnum; $i >= 1; $i--) {            $_page = $this->page - $i;            if ($_page < 1) continue;            $_pagelist .= ' <a href="' . $this->url . '&page=' . $_page . '" class="btn btn-default btn-sm">' . $_page . '</a> ';        }        $_pagelist .= ' <a class="btn btn-default btn-sm" href="javascript:void(0)" >' . $this->page . '</a> ';        for ($i = 1; $i <= $this->bothnum; $i++) {            $_page = $this->page + $i;            if ($_page > $this->pagenum) break;            $_pagelist .= ' <a href="' . $this->url . '&page=' . $_page . '" class="btn btn-default btn-sm">' . $_page . '</a> ';        }        return $_pagelist;    }    //首页    private function first()    {        if ($this->page > $this->bothnum + 1) {            return ' <a href="' . $this->url . '" class="btn btn-default btn-sm">1</a> ...';        }    }    //上一页    private function prev()    {        if ($this->page == 1) {            return '<a href="javascript:void(0)" class="btn btn-default btn-sm"><i class="fa fa-chevron-left"></i></a>';        }        return ' <a href="' . $this->url . '&page=' . ($this->page - 1) . '" class="btn btn-default btn-sm"><i class="fa fa-chevron-left"></i></a> ';    }    //下一页    private function next()    {        if ($this->page == $this->pagenum) {            return '<a href="javascript:void(0)" class="btn btn-default btn-sm"><i class="fa fa-chevron-right"></i></a>';        }        return '<a href="' . $this->url . '&page=' . ($this->page + 1) . '" class="btn btn-default btn-sm"><i class="fa fa-chevron-right"></i></a> ';    }    //尾页    private function last()    {        if ($this->pagenum - $this->page > $this->bothnum) {            return ' ...<a href="' . $this->url . '&page=' . $this->pagenum . '">' . $this->pagenum . '</a> ';        }    }    //分页信息    public function showpage()    {        $_page = '';        $_page .= $this->first();        $_page .= $this->pageList();        $_page .= $this->last();        $_page .= $this->prev();        $_page .= $this->next();        return $_page;    }}total = 100;$pagesize = 10;$page = new Page($total, $pagesize);$pageshow = $page->showpage();echo $pageshow;

GitHub:https://github.com/HowieBird/Page

0 0
原创粉丝点击