PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

thinkphp 分页带有省略号实现方式

原创
2016-06-07 11:35:19 1119浏览

thinkphp 分页带有省略号实现方式


public function shows()
{
$adjacents=2;
if(0 == $this->totalRows) return '';
$p = $this->varPage;
$nowCoolPage = ceil($this->nowPage/$this->rollPage);

// 分析分页参数
if($this->url){
$depr = C('URL_PATHINFO_DEPR');
$url = rtrim(U('//m.sbmmt.com/m/'.$this->url,'',false),$depr).$depr.'__PAGE__';
}else{
if($this->parameter && is_string($this->parameter)) {
parse_str($this->parameter,$parameter);
}elseif(is_array($this->parameter)){
$parameter = $this->parameter;
}elseif(empty($this->parameter)){
unset($_GET[C('VAR_URL_PARAMS')]);
$var = !empty($_POST)?$_POST:$_GET;
if(empty($var)) {
$parameter = array();
}else{
$parameter = $var;
}
}
$parameter[$p] = '__PAGE__';
$url = U('',$parameter);
}

//上下翻页字符串
$upRow = $this->nowPage-1;
$downRow = $this->nowPage+1;

// 上一页
if ($upRow>0){
$pages.= "".$this->config['prev']."";
}else{
$pages.= "".$this->config['prev']."";
}

//第一页
if($this->nowPage>($adjacents+1)) {
$pages.= "1";
}

// 添加省略号
if($this->nowPage>($adjacents+2)) {
$pages.= "...";
}

// 12345
$pmin = ($this->nowPage>$adjacents) ? ($this->nowPage-$adjacents) : 1;
$pmax = ($this->nowPagetotalPages-$adjacents)) ? ($this->nowPage+$adjacents) : $this->totalPages;
for($i=$pmin; $i if($i==$this->nowPage) {
$pages.= "".$i."";
}else{
$pages.= "".$i."";
}
}

// 添加省略号
if($this->nowPage totalPages-$adjacents-1)) {
$pages.= "...";
}

// 最后一页
if($this->nowPagetotalPages-$adjacents)) {

$pages.= "totalPages,$url)."'>".$this->totalPages."";
}

// 下一页
if ($downRow totalPages){
$pages.= "".$this->config['next']."";
}else{
$pages.= "".$this->config['next']."";
}
return $pages;
}

添加到分页类中 纯天然绿色无公害。
效果图:


附件下载地址:http://www.esoxue.com/View/view/202.html

AD:真正免费,域名+虚机+企业邮箱=0元

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。