php仿discuz分页效果代码


本文整理自网络,侵删。

代码如下:

/**
* 显示样式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 class="first">1 ...</a>' : '').
($this->pageno > 1 ? '<a class="p_redirect"><<</a>' : '');
for($i = $from; $i <= $to; $i++) {
$multipage .= $i == $this->pageno ? '<a class="p_curpage"><strong>'.$i.'</strong></a>' :'<a class="p_num">'.$i.'</a>';
}

$multipage .= ($this->pageno < $pages ? '<a class="p_redirect">>></a>' : '').
($to < $pages ? '<a 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;
}

这是效果:
图片附件:

更多关于Discuz论坛内容来自木庄网络博客


标签:Discuz论坛

相关阅读 >>

discuz 分类信息设置教程(图文教程、dzx系列)

地方论坛和行业网站发展分析

discuz!nt 2.5最新注入漏洞测试分析(图)

2019 php面试题与常用技巧大全

discuz!开启使用html、主题分类、分类信息的方法

2015年免费wordpress主题推荐(国内精选)

discuz!5的php代码高亮显示插件(黑暗中的舞者更新)

discuz uchome ajaxpost小技巧

telnet 服务器的25端口不通(无法发送邮件)的解决办法

个人网站运营优化经验实例分享

更多相关阅读请进入《Discuz论坛》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...