实现一个没有上下页链接的分页
因为项目要求,只有"%linkPage%"部分,我的设置是: $Page->setConfig('theme',' %first% %prePage% %linkPage% %nextPage% %end% ');
效果是:
代码是抄来的,我拿来修改"show()"部分<?php <br />
// +----------------------------------------------------------------------<br>
// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]<br>
// +----------------------------------------------------------------------<br>
// | Copyright (c) 2009 http://thinkphp.cn All rights reserved.<br>
// +----------------------------------------------------------------------<br>
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )<br>
// +----------------------------------------------------------------------<br>
// | Author: liu21st <liu21st><br>
// | lanfengye <zibin_5257><br>
// | wakasann <xiaofosong><br>
// +----------------------------------------------------------------------<br>
class BootstrapPage {<br>
<br>
// 分页栏每页显示的页数<br>
public $rollPage = 5;<br>
// 页数跳转时要带的参数<br>
public $parameter ;<br>
// 分页URL地址<br>
public $url = '';<br>
// 默认列表每页显示行数<br>
public $listRows = 20;<br>
// 起始行数<br>
public $firstRow ;<br>
// 分页总页面数<br>
protected $totalPages ;<br>
// 总行数<br>
protected $totalRows ;<br>
// 当前页数<br>
protected $nowPage ;<br>
// 分页的栏的总页数<br>
protected $coolPages ;<br>
// 分页显示定制<br>
protected $config = array('header'=>'条记录','prev'=>'上一页','next'=>'下一页','first'=>'第一页','last'=>'<span>最后一页</span>','theme'=>'<li><span> %totalRow% %header% %nowPage%/%totalPage% 页</span></li> %upPage% %downPage% %first% %prePage% %linkPage% %nextPage% <li>%end%</li>');<br>
// 默认分页变量名<br>
protected $varPage;<br>
/**<br>
* 架构函数<br>
* @access public<br>
* @param array $totalRows 总的记录数<br>
* @param array $listRows 每页显示记录数<br>
* @param array $parameter 分页跳转的参数<br>
*/<br>
public function __construct($totalRows,$listRows='',$parameter='',$url='') {<br>
$this->totalRows = $totalRows;<br>
$this->parameter = $parameter;<br>
$this->varPage = C('VAR_PAGE') ? C('VAR_PAGE') : 'p' ;<br>
if(!empty($listRows)) {<br>
$this->listRows = intval($listRows);<br>
}<br>
$this->totalPages = ceil($this->totalRows/$this->listRows); //总页数<br>
$this->coolPages = ceil($this->totalPages/$this->rollPage);<br>
<br>
$this->nowPage = !empty($_GET[$this->varPage])?intval($_GET[$this->varPage]):1;<br>
if($this->nowPage
$this->nowPage = 1;<br>
}elseif(!empty($this->totalPages) && $this->nowPage>$this->totalPages) {<br>
$this->nowPage = $this->totalPages;<br>
}<br>
$this->firstRow = $this->listRows*($this->nowPage-1);<br>
if(!empty($url)) $this->url = $url; <br>
}<br>
public function setConfig($name,$value) {<br>
if(isset($this->config[$name])) {<br>
$this->config[$name] = $value;<br>
}<br>
}<br>
/**<br>
* 分页显示输出<br>
* @access public<br>
*/<br>
public function show() {<br>
<br>
if(0 == $this->totalRows) return '';<br>
$p = $this->varPage;<br>
$nowCoolPage = ceil($this->nowPage/$this->rollPage);<br>
// 分析分页参数<br>
if($this->url){<br>
$depr = C('URL_PATHINFO_DEPR');<br>
$url = rtrim(U('/'.$this->url,'',false),$depr).$depr.'__PAGE__';<br>
}else{<br>
if($this->parameter && is_string($this->parameter)) {<br>
parse_str($this->parameter,$parameter);<br>
}elseif(is_array($this->parameter)){<br>
$parameter = $this->parameter;<br>
}elseif(empty($this->parameter)){<br>
unset($_GET[C('VAR_URL_PARAMS')]);<br>
$var = !empty($_POST)?$_POST:$_GET;<br>
if(empty($var)) {<br>
$parameter = array();<br>
}else{<br>
$parameter = $var;<br>
}<br>
}<br>
$parameter[$p] = '__PAGE__';<br>
$url = U('',$parameter);<br>
}<br>
<br>
//上下翻页字符串<br>
$upRow = $this->nowPage-1;<br>
$downRow = $this->nowPage+1;<br>
if ($upRow>0){<br>
$upPage = "<li><a>".$this->config['prev']."</a></li>";<br>
}else{<br>
$upPage = '';<br>
}<br>
<br>
if ($downRow totalPages){<br>
$downPage = "<li><a>".$this->config['next']."</a></li>";<br>
}else{<br>
$downPage = '';<br>
}<br>
<br>
// >><br>
if($nowCoolPage == 1){<br>
$theFirst = '';<br>
$prePage = '';<br>
}else{<br>
$preRow = $this->nowPage-$this->rollPage;<br>
// $prePage = "<li><a>".L('page_prev')." ".$this->rollPage." ".L('page_pager')."</a></li>";<br>
$prePage = "<li><span> ... </span></li>";<br>
// $theFirst = "<li><a>".$this->config['first']."</a></li>";<br>
$theFirst = "<li><a>1</a></li>";<br>
}<br>
<br>
<br>
if($nowCoolPage == $this->coolPages){<br>
$nextPage = '';<br>
$theEnd = '';<br>
}else{<br>
$nextRow = $this->nowPage+$this->rollPage;<br>
$theEndRow = $this->totalPages;<br>
// $nextPage = "<li><a>".L('page_next')." ".$this->rollPage." ".L('page_pager')."</a></li>";<br>
$nextPage = "<li><span> ... </span></li>";<br>
// $theEnd = "<li><a>".$this->config['last']."</a></li>";<br>
$theEnd = "<li><a>".$this->totalPages."</a></li>";<br>
}<br>
<br>
<br>
//数字链接<br>
// 1 2 3 4 5<br>
$linkPage = ""; //数字链接<br>
<br>
for($i=1;$irollPage;$i++){<br>
$page = ($nowCoolPage-1)*$this->rollPage+$i;<br>
if($page!=$this->nowPage){<br>
if($pagetotalPages){<br>
$linkPage .= "<li><a>".$page."</a></li>";<br>
}else{<br>
break;<br>
}<br>
}else{<br>
if($this->totalPages != 1){<br>
$linkPage .= "<li><a>".$page."</a></li>";<br>
}<br>
}<br>
}<br>
<br>
//修改最后一个为跳到下个分页组的<br>
if ($upRow>0){<br>
$page2 = ($nowCoolPage-1)*$this->rollPage+($this->rollPage+1);<br>
if($page2 != $this->nowPage && $page2 totalPages){<br>
$linkPage .= "<li><a>".$page2."</a></li>";<br>
}<br>
}<br>
//修改最后一个为跳到上个分页组的<br>
if ($downRow totalPages){<br>
$page2 = ($nowCoolPage-1)*$this->rollPage;<br>
if($page2 != $this->nowPage && $page2 > 0 && $page2 totalPages){<br>
$linkPage2 = "<li><a>".$page2."</a></li>";<br>
$linkPage = $linkPage2.$linkPage;<br>
}<br>
}<br>
<br>
$pageStr = str_replace(<br>
array('%header%','%nowPage%','%totalRow%','%totalPage%','%upPage%','%downPage%','%first%','%prePage%','%linkPage%','%nextPage%','%end%'),<br>
array($this->config['header'],$this->nowPage,$this->totalRows,$this->totalPages,$upPage,$downPage,$theFirst,$prePage,$linkPage,$nextPage,$theEnd),$this->config['theme']);<br>
return $pageStr;<br>
}<br>
}</xiaofosong></zibin_5257></liu21st>
AD:真正免费,域名+虚机+企业邮箱=0元