<?phpclass Page{private $total;private $listRows;private $limit;private $uri;private $pageNum;private $page;private $config=array('head' => "条记录",'prev' => "上一页",'next' => "下一页",'first'=> "首页",'last' => "末页");private $listNum=10;public function __construct($total,$listRows=10,$query="",$ord=true){$this->total=$total;$this->listRows=$listRows;$this->uri = $this->getUri($query);$this->pageNum=ceil($this->total/$this->listRows);if(!empty($_GET["page"])){$page=$_GET['page'];}else{if($ord){$page = 1;}else{$page = $this->pageNum;}}if($total>0){if(preg_match('/\D/',$page)){$this->page = 1;}else{$this->page = $page;}}else{$this->page = 0;}$this->limit="LIMIT ".$this->setLimit();}function set($param,$value){if(array_key_exists($param,$this->config)){$this->config[$param] = $value;}return $this;}function __get($args){if($args == "limit"|| $args =="page"){ //过滤非法请求return $this->$args;}else{return null;}}function fpage(){$arr = func_get_args();$html[0]= " 共<b> {$this->total} </b>{$this->config["head"]} ";$html[1]= " 本页 <b>".$this->disnum()."</b> 条 ";$html[2]= " 本页从 <b>{$this->start()}-{$this->end()}</b> 条 ";$html[3]= " <b>{$this->page}/{$this->pageNum}</b>页 ";$html[4]= $this -> firstprev(); //上一页+首页$html[5]= $this -> pageList(); //页码列表1,2,3...$html[6]= $this -> nextlast(); //下一页+末页$html[7]= $this -> goPage();$fpage='<div style="font:12px\'5円B8B4円F53\',san-serif;">';if(count($arr)<1){$arr = array(0,1,2,3,4,5,6,7);}for($i=0;$i<count($arr);$i++){$fpage .=$html[$arr[$i]];}$fpage .= '</div>';return $fpage;}private function setLimit(){if($this->page >0){return ($this->page-1)*$this->listRows.", {$this->listRows}";}else{return 0;}}private function getUri($query){$request_uri = $_SERVER["REQUEST_URI"];$url = strstr($request_uri,'?') ? $request_uri : $request_uri.'?';if(is_array($query)){$url .= http_build_query($query);}elseif($query != ""){$url .= "&".trim($query,"?&");}$arr = parse_url($url);if(isset($arr["query"])){parse_str($arr["query"],$arrs);unset($arrs["page"]);$url = $arr["path"].'?'.http_build_query($arrs);}if(strstr($url,'?')){if(substr($url,-1) != '?'){$url = $url.'&';}}else{$url = $url.'?';}return $url;}private function start(){if($this->total==0){return 0;}else{return ($this->page-1)*$this->listRows+1;}}private function end(){return min($this->page*$this->listRows,$this->total);}private function firstprev(){if($this->page > 1){$str = " <a href='{$this->uri}page=1'>{$this->config["first"]}</a> ";$str .= "<a href='{$this->uri}page=".($this->page-1)."'>{$this->config["prev"]}</a> ";return $str;}}private function pagelist(){$linkPage = " <b>";$inum = floor($this->listNum/2);for($i=$inum;$i>=1;$i--){$page = $this->page-$i;if($page>=1)$linkPage .= "<a href='{$this->uri}page={$page}'>{$page}</a> ";}if($this->pageNum>1){$linkPage .= "<span style='padding:1px 2px; background:#BBB;color:white;'>{$this->page}</span> ";}for($i=1;$i<=$inum;$i++){$page = $this->page+$i;if($page <= $this->pageNum){$linkPage .= "<a href='{$this->uri}page={$page}'>{$page}</a> ";}else{break;}}$linkPage .= '</b>';return $linkPage;}private function nextlast(){if($this->page != $this->pageNum){$str = " <a href='{$this->uri}page=".($this->page+1)."'>{$this->config["next"]}</a> ";$str .= " <a href='{$this->uri}page=".($this->pageNum)."'>{$this->config["last"]}</a> ";return $str;}}private function goPage(){if($this->pageNum > 1){return ' <input style="width:20px;height:17px;!important;height:18px;border:1px solid #cccccc;"type="text" onkeydown="javascript:if(event.keyCode==13){var page=(this.value>'.$this->pageNum.')?'.$this->pageNum.':this.value;location=\''.$this->uri.'page=\'+page+\'\'}" value="'.$this->page.'"><input style="cursor:pointer;width:25px;height:18px;border:1px solid #cccccc;"type="button" value="GO" onclick="javascript:var page=(this.previousSibling.value>'.$this->pageNum.')?'.$this->pageNum.':this.previousSibling.value;location=\''.$this->uri.'page=\'+page+\'\'"> ';}}private function disnum(){if($this->total > 0){return $this->end()-$this->start()+1;}else{return 0;}}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。