<?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] 举报,一经查实,本站将立刻删除。