thinkphp 分页带有省略号实现方式
程序员文章站
2022-05-24 14:05:14
...
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('/'.$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
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('/'.$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元