作者:jytujtuyt | 来源:互联网 | 2018-03-23 08:23
分页类——尾部页码导航
currentPage=$currentPage;
$this->totalPage=$totalPage;
if($this->totalPage<=10){//总页数小于等于10页
if($this->currentPage==1){//当前页是第一页
$str=&#39;上一页&#39;.$this->currentTag();
for ($i = 2; $i <= $this->totalPage; $i++) {
$str=$str.$this->commonTag($i);
}
$str=$str.$this->next();
}elseif ($this->currentPage==$this->totalPage){//已跳至最后一页
$str=$this->up();
for ($i = 1; $i <= $this->totalPage-1; $i++) {
$str=$str.$this->commonTag($i);
}
$str=$str.$this->currentTag();
$str=$str.$this->next();
}else{
$str=$this->up();
for($i=1; $i<$this->currentPage; $i++){
$str=$str.$this->commonTag($i);
}
$str=$str.$this->currentTag();//生成当前页标签
for ($i = $this->currentPage+1; $i <= $this->totalPage; $i++) {
$str=$str.$this->commonTag($i);
}
$str=$str.$this->next();
}
}elseif ($this->totalPage>10){//页码大于10
if($this->currentPage==1){//8+2
$str=&#39;上一页&#39;.$this->currentTag();
for ($i = 2; $i <= 8; $i++) {
$str=$str.$this->commonTag($i);
}
$str=$str.&#39;...&#39;;//添加省略号
$str=$str.$this->commonTag($this->totalPage-1);
$str=$str.$this->commonTag($this->totalPage);
}elseif($this->currentPage==$this->totalPage) {//当前为最后一页
$str=$this->up();
$str=$str.$this->commonTag(1);
$str=$str.&#39;...&#39;;//添加省略号
for ($i = $this->totalPage-6; $i <$this->totalPage; $i++) {
$str=$str.$this->commonTag($i);
}
$str=$str.$this->currentTag();
$str=$str.$this->next();
}else {
if ($this->currentPage<6) {
$str=$this->up();
for ($i = 1; $i <$this->currentPage; $i++) {
$str=$str.$this->commonTag($i);
}
$str=$str.$this->currentTag();
for ($i = $this->currentPage+1; $i <= 7; $i++) {
$str=$str.$this->commonTag($i);
}
$str=$str.&#39;...&#39;;//添加省略号
$str=$str.$this->commonTag($this->totalPage);
$str=$str.$this->next();
}else {
if ($this->currentPage>=$this->totalPage-4) {
$str=$this->up();
$str=$str.$this->commonTag(1);
$str=$str.&#39;...&#39;;//添加省略号
for ($i = $this->totalPage-6; $i <$this->currentPage; $i++) {
$str=$str.$this->commonTag($i);
}
$str=$str.$this->currentTag();
for ($i = $this->currentPage+1; $i <= $this->totalPage; $i++) {
$str=$str.$this->commonTag($i);
}
$str=$str.$this->next();
}elseif ($this->currentPage<$this->totalPage-4){//1+5+1
$str=$this->up();
$str=$str.$this->commonTag(1);
$str=$str.&#39;...&#39;;//添加省略号
$str=$str.$this->commonTag($this->currentPage-2);
$str=$str.$this->commonTag($this->currentPage-1);
$str=$str.$this->currentTag();
$str=$str.$this->commonTag($this->currentPage+1);
$str=$str.$this->commonTag($this->currentPage+2);
$str=$str.&#39;...&#39;;//添加省略号
$str=$str.$this->commonTag($this->totalPage);
$str=$str.$this->next();
}
};
}
}elseif ($this->totalPage<=0){
throw new Exception("页面不可能小于1");
}
return $str;
}
/**
* 一般标签
* @param int $param 页码
* @return string
*/
function commonTag($param) {
return &#39;&#39;.$param.&#39;&#39;;
}
/**
* 生成当前页标签
* @param int $param 页码
* @return string
*/
function currentTag() {
return &#39;&#39;.$this->currentPage.&#39;&#39;;
}
/**
* 生成下一页标签
* @param int $param 下一页页码
* @return string
*/
function next() {
if ($this->currentPage==$this->totalPage) {
return &#39;下一页&#39;;
}
return &#39;下一页&#39;;
}
/**
* 生成上一页标签
* @param int $param 上一页页码
* @return string
*/
function up() {
if ($this->currentPage==1){
return &#39;上一页&#39;;
}else{
return &#39;上一页&#39;;
}
}
/**
* 实例化cmtTail,
* 功能:生成Comment的尾部分页导航
* @param string $currentPage 当前页码
* @param string $totalPage 总页数
* @return string 返回html标签字符串
*/
static function GO($currentPage, $totalPage) {
$p=new cmtTail();
return $p->__do($currentPage, $totalPage);
}
}