php面向对象分页类代码
<?php//自定义分页类class Page{public $page=1; //当前页public $pageSize=5; //页大小public $maxPage=0; //最大页数public $maxRows=0; //最大数据条public $url =null; //访问的url地址public $params=null; //url的参数条件public function __construct($maxRows,$pageSize=5){$this->maxRows = $maxRows;$this->pageSize= $pageSize;//获取当前页$this->page = isset($_GET['p'])?$_GET['p']:1;$this->getMaxPage();$this->checkPage();//获取和封装url地址$this->url = $_SERVER["PHP_SELF"];$this->getParams();}//获取分页信息public function limit(){return (($this->page-1)*$this->pageSize).",".$this->pageSize;}//计算分页中的最大页数private function getMaxPage(){$this->maxPage = ceil($this->maxRows/$this->pageSize);}//判断当前页数是否越界private function checkPage(){if($this->page>$this->maxPage){$this->page = $this->maxPage;}if($this->page<1){$this->page=1;}}//封装url上搜索条件private function getParams(){foreach($_GET as $k=>$v){if($k!="p" && !empty($v)){$this->params.="&{$k}={$v}";}}}//生成分页HTML代码public function show(){$str = "";$str.= "当前第{$this->page}/{$this->maxPage}页 共计{$this->maxRows}条 ";$str.= " <a href='{$this->url}?p=1{$this->params}'>首页</a> ";$str.= " <a href='{$this->url}?p=".($this->page-1)."{$this->params}'>上一页</a> ";$str.= " <a href='{$this->url}?p=".($this->page+1)."{$this->params}'>下一页</a> ";$str.= " <a href='{$this->url}?p={$this->maxPage}{$this->params}'>末页</a> ";return $str;}}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。