total = $total; $this->pagesize = $pagesize; $this->pagenum = ceil($total/$pagesize); $this->page = $this->getPage(); $this->url = $this->getUrl(); $this->bothnum = $bothnum; } /** * 当前页码 * @return int */ private function getPage() { $page = isset($_GET['page']) ? $_GET['page'] : 1; if ($page < 1 || $page > $this->pagenum) { return 1; } return $page; } /** * 获取地址 * @return string */ private function getUrl() { $url = $_SERVER['REQUEST_URI']; $parse = parse_url($url); if (isset($parse['query'])) { parse_str($parse['query'], $query); unset($query['page']); $url = $parse['path'].'?'.http_build_query($query); } return $url; } /** * 首页按钮渲染 * @return string */ private function firstBtn() { if ($this->page == 1) { return '
首页
'; } return '
首页
'; } /** * 上一页渲染 * @return string */ private function prev() { if ($this->page == 1) { return '
上一页
'; } return '
上一页
'; } /** * 页数列表渲染 * @return string */ private function pageList() { $html = ''; for($i = max(1, $this->page - $this->bothnum); $i <= min($this->pagenum, $this->page + $this->bothnum); $i++){ $html .= '
'.$i.'
'; } return $html; } /** * 下一页渲染 * @return string */ private function next() { if ($this->pagenum == $this->page) { return '
下一页
'; } return '
下一页
'; } /** * 尾页渲染 * @return string */ private function lastBtn() { if ($this->pagenum == $this->page) { return '
尾页
'; } return '
尾页
'; } /** * 分页渲染 * @param string $html * @return string */ public function showPage($html = '') { $html .= $this->firstBtn(); $html .= $this->prev(); $html .= $this->pageList(); $html .= $this->next(); $html .= $this->lastBtn(); $html .= '
共'.$this->total.'条/'.$this->pagenum.'页
'; return $html; } } $total = 1000; $pagesize = 15; $page = new Page($total, $pagesize); ?>
分页类
showPage();?>