防淘宝带省略号的AJAX分页
发布时间:2020-12-16 01:54:38 所属栏目:百科 来源:网络整理
导读:?php/***防淘宝带省略号的AJAX分页*@paramdate*@authorhany*/classAjaxPage{private$total;//数据表中总记录数private$listRows;//每页显示行数private$limit;//分页参数private$uri;private$pageNum;//总页数private$config=array('header'="个记录","prev"
<?php /** *防淘宝带省略号的AJAX分页 *@paramdate *@authorhany */ classAjaxPage{ private$total;//数据表中总记录数 private$listRows;//每页显示行数 private$limit;//分页参数 private$uri; private$pageNum;//总页数 private$config=array('header'=>"个记录","prev"=>"上一页","next"=>"下一页","first"=>"首页","last"=>"尾页"); private$adjacents=3;//两侧显示的页码数量. /** *构造函数 *@paramunknown$total *@paramnumber$listRows *@paramstring$pa */ publicfunction__construct($total,$listRows=10,$pa=""){ $this->total=$total; $this->listRows=$listRows; $this->uri=$this->getUri($pa); $this->page=!empty($_GET["page"])?intval($_GET["page"]):1;//当前页数 $this->pageNum=ceil($this->total/$this->listRows); $this->limit=$this->setLimit(); } /** *设置分页偏移量 *@returnstring */ privatefunctionsetLimit(){ return"Limit".($this->page-1)*$this->listRows.",{$this->listRows}"; } /** *获取url地址 *@paramunknown$pa *@returnstring */ privatefunctiongetUri($pa){ $url=$_SERVER["REQUEST_URI"].(strpos($_SERVER["REQUEST_URI"],'?')?'':"?").$pa; //解析URL,返回其组成部分 $parse=parse_url($url); //将字符串解析成多个变量 if(isset($parse["query"])){ parse_str($parse['query'],$params); unset($params["page"]);//去除url里面的page $url=$parse['path'].'?'.http_build_query($params); } return$url; } /** *获取一个类的私有成员 *@paramunknown$args *@returnNULL */ publicfunction__get($args){ if($args=="limit"){ return$this->limit; }else{ returnnull; } } /** *首页 *@returnstring */ privatefunctionfirst(){ if($this->page>($this->adjacents+1)){ return"<ahref='javascript:setPage("{$this->uri}&page=1")'>1</a> "; } return""; } /** *上一页 *@returnstring */ privatefunctionprev(){ if($this->page==1){ return"<a>{$this->config["prev"]}</a> "; }elseif($this->page==2){ return"<ahref='javascript:setPage("{$this->uri}"."")'>{$this->config["prev"]}</a> "; }else{ return"<ahref='javascript:setPage("{$this->uri}&page=".($this->page-1)."")'>{$this->config["prev"]}</a> "; } } /** *列表 *@returnstring */ privatefunctionpageList(){ $linkPage=""; //省略号 if($this->page>($this->adjacents+2)){ $linkPage.="<a>...</a> "; } //pages $pmin=($this->page>$this->adjacents)?($this->page-$this->adjacents):1; $pmax=($this->page<($this->pageNum-$this->adjacents))?($this->page+$this->adjacents):$this->pageNum; for($i=$pmin;$i<=$pmax;$i++){ if($i==$this->page){ $linkPage.="<aclass='current'>{$this->page}</a> "; }elseif($i==1){ $linkPage.="<ahref='javascript:setPage("{$this->uri}"."")'>{$i}</a> "; }else{ $linkPage.="<ahref='javascript:setPage("{$this->uri}&page={$i}")'>{$i}</a> "; } } //省略号 if($this->page<($this->pageNum-$this->adjacents-1)){ $linkPage.="<a>...</a> "; } return$linkPage; } /** *下一页 *@returnstring */ privatefunctionnext(){ if($this->page<$this->pageNum){ return"<ahref='javascript:setPage("{$this->uri}&page=".($this->page+1)."")'>{$this->config["next"]}</a> "; }else{ return"<a>{$this->config["next"]}</a> "; } } /** *总页数 *@returnstring */ privatefunctiontotal(){ return'共'.$this->pageNum.'页,第'.$this->page.'页 '; } /** *尾页 *@returnstring */ privatefunctionlast(){ if($this->page<($this->pageNum-$this->adjacents)){ return"<ahref='javascript:setPage("{$this->uri}&page=".($this->pageNum)."")'>{$this->pageNum}</a> "; } return""; } /** *跳转 *@returnstring */ privatefunctiongoPage(){ return'<inputtype="text"onkeydown="javascript:if(event.keyCode==13){varpage=(this.value>'.$this->pageNum.')?'.$this->pageNum.':this.value;setPage(''.$this->uri.'&page='+page+'')}"value="'.$this->page.'"style="width:25px"><inputtype="button"value="GO"onclick="javascript:varpage=(this.previousSibling.value>'.$this->pageNum.')?'.$this->pageNum.':this.previousSibling.value;setPage(''.$this->uri.'&page='+page+'')">'; } /** *获取分页列表 *@paramunknown$display *@returnAmbigous<string,unknown> */ publicfunctionfpage($display=array(0,1,2,3,4,5)){ $html[0]=$this->total(); $html[1]=$this->prev(); $html[2]=$this->first(); $html[3]=$this->pageList(); $html[4]=$this->last(); $html[5]=$this->next(); $fpage=''; foreach($displayas$index){ $fpage.=$html[$index]; } return$fpage; } } //实例分页类对象 $page=newAjaxPage($total,$pagesize); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby – 如何明智地在对象周围分割数组
- flex中datagrid列滚动锁定
- entity-framework – 如何防止Json.NET使用Entity Framewor
- ruby-on-rails-3 – 带有rspec2 beta 5和rails3 beta2的sho
- C# for循环的经典案例集锦
- Flex 3 AdvancedDataGrid的使用(七)
- database – 如何在oracle11g中定义引用该类型集合的类型?
- 如果机器安装了oracle(oci8和/或pdo_oci),如何使用php检测?
- dart – Flutter:从没有上下文的InheritedWidgets访问数据
- ARM启动代码分析-philips的LPC2xxx系列