php仿discuz分页效果代码
author:一佰互联 2019-05-01   click:178

复制代码 代码如下:
/**
* 显示样式2
*/
function multi($mpurl,$page = 10) {

$multipage = "";
$mpurl .= strpos($mpurl, "?") ? "&" : "?";
$realpages = 1;
if($this->infocount > $this->items) {
$offset = 2;

$realpages = @ceil($this->infocount / $this->items);
$pages = $this->maxpages && $this->maxpages < $realpages ? $this->maxpages : $realpages;

if($page > $pages) {
$from = 1;
$to = $pages;
} else {
$from = $this->pageno - $offset;
$to = $from + $page - 1;
if($from < 1) {
$to = $this->pageno + 1 - $from;
$from = 1;
if($to - $from < $page) {
$to = $page;
}
} elseif($to > $pages) {
$from = $pages - $page + 1;
$to = $pages;
}
}

$multipage = ($this->pageno - $offset > 1 && $pages > $page ? "<a href="".$mpurl."page=1" class="first">1 ...</a>" : "").
($this->pageno > 1 ? "<a href="".$mpurl."page=".($this->pageno - 1)."" class="p_redirect"><<</a>" : "");
for($i = $from; $i <= $to; $i++) {
$multipage .= $i == $this->pageno ? "<a class="p_curpage"><strong>".$i."</strong></a>" :"<a href="".$mpurl."page=".$i."" class="p_num">".$i."</a>";
}

$multipage .= ($this->pageno < $pages ? "<a href="".$mpurl."page=".($this->pageno + 1)."" class="p_redirect">>></a>" : "").
($to < $pages ? "<a href="".$mpurl."page=".$pages."" class="last">... ".$realpages."</a>" : "").
($pages > $page ? "<kbd><input type="text" name="custompage" size="3" onkeydown="if(event.keyCode==13) {window.location="".$mpurl."page="+this.value; return false;}" /></kbd>" : "");

$multipage = $multipage ? "<div class="p_bar"><a class="p_total"> ".$this->infocount." </a><a class="p_pages"> ".$this->pageno."/".$pages." </a>".$multipage."</div>" : "";
}
return $multipage;
}

这是效果:
图片附件: