DISCUZ 分页代码


Posted in PHP onJanuary 02, 2007
<?php     
/*    
    [Discuz!] (C)2001-2006 Comsenz Inc.    
    This is NOT a freeware, use is subject to license terms        $RCSfile: global.func.php,v $    
    $Revision: 1.83.2.7 $    
    $Date: 2006/10/27 08:08:18 $    
*/    
function multi($num, $perpage, $curpage, $mpurl, $maxpages = 0) {     
    $multipage = '';     
    $mpurl .= strpos($mpurl, '?') ? '&' : '?';     
    if($num > $perpage) {     
        $page = 10;     
        $offset = 2;     
        $realpages = @ceil($num / $perpage);     
        $pages = $maxpages && $maxpages < $realpages ? $maxpages : $realpages;     
        if($page > $pages) {     
            $from = 1;     
            $to = $pages;     
        } else {     
            $from = $curpage - $offset;     
            $to = $from + $page - 1;     
            if($from < 1) {     
                $to = $curpage + 1 - $from;     
                $from = 1;     
                if($to - $from < $page) {     
                    $to = $page;     
                }     
            } elseif($to > $pages) {     
                $from = $pages - $page + 1;     
                $to = $pages;     
            }     
        }     
        $multipage = ($curpage - $offset > 1 && $pages > $page ? '<a class="p_redirect" href="'.$mpurl.'page=1">|?</a>' : '').     
            ($curpage > 1 ? '<a class="p_redirect" href="'.$mpurl.'page='.($curpage - 1).'">??</a>' : '');     
        for($i = $from; $i <= $to; $i++) {     
            $multipage .= $i == $curpage ? '<a class="p_curpage">'.$i.'</a>' :     
                '<a href="'.$mpurl.'page='.$i.'" class="p_num">'.$i.'</a>';     
        }     
        $multipage .= ($curpage < $pages ? '<a class="p_redirect" href="'.$mpurl.'page='.($curpage + 1).'">??</a>' : '').     
            ($to < $pages ? '<a class="p_redirect" href="'.$mpurl.'page='.$pages.'">?|</a>' : '').     
            ($curpage == $maxpages ? '<a class="p_redirect" href="misc.php?action=maxpages&pages='.$maxpages.'">??</a>' : '').     
            ($pages > $page ? '<a class="p_pages" style="padding: 0px"><input class="p_input" type="text" name="custompage" onKeyDown="if(event.keyCode==13) {window.location=\''.$mpurl.'page=\'+this.value; return false;}"></a>' : '');     
        $multipage = $multipage ? '<div class="p_bar"><a class="p_total"> '.$num.' </a><a class="p_pages"> '.$curpage.'/'.$realpages.' </a>'.$multipage.'</div>' : '';     
    }     
    return $multipage;     
}     
?>   
PHP 相关文章推荐
php数据入库前清理 注意php intval与mysql的int取值范围不同
Dec 12 PHP
fleaphp crud操作之find函数的使用方法
Apr 23 PHP
PHP写的资源下载防盗链类分享
May 12 PHP
PHP+MYSQL实现用户的增删改查
Mar 24 PHP
Laravel 5框架学习之日期,Mutator 和 Scope
Apr 08 PHP
PHP中的流(streams)浅析
Jul 02 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
Sep 29 PHP
php如何实现只替换一次或N次
Oct 29 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
Mar 18 PHP
php使用escapeshellarg时中文被过滤的解决方法
Jul 10 PHP
php实现用户注册密码的crypt加密
Jun 08 PHP
Laravel 5.4因特殊字段太长导致migrations报错的解决
Oct 22 PHP
帖几个PHP的无限分类实现想法~
Jan 02 #PHP
PHP+MYSQL开发工具及资源收藏
Jan 02 #PHP
分享PHP入门的学习方法
Jan 02 #PHP
php中常用编辑器推荐
Jan 02 #PHP
PHP中的日期处理方法集锦
Jan 02 #PHP
PHP语法速查表
Jan 02 #PHP
require(),include(),require_once()和include_once()的异同
Jan 02 #PHP
You might like
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
PHP实现简单搜歌的方法
2015/07/28 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
2019/02/16 PHP
菜鸟javascript基础资料整理2
2010/12/06 Javascript
onclick与listeners的执行先后问题详细解剖
2013/01/07 Javascript
JavaScript中this的使用详解
2013/11/08 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
jQuery如何防止这种冒泡事件发生
2015/02/27 Javascript
JS响应鼠标点击实现两个滑块区间拖动效果
2015/10/26 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
js中获取jsp表单中radio类型的值简单实例
2016/08/15 Javascript
基于js 本地存储(详解)
2017/08/16 Javascript
VUE element-ui 写个复用Table组件的示例代码
2017/11/18 Javascript
vue中v-for通过动态绑定class实现触发效果
2018/12/06 Javascript
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
[01:00:13]完美世界DOTA2联赛 LBZS vs Forest 第一场 11.07
2020/11/09 DOTA
Python 多线程实例详解
2017/03/25 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
深入浅析Python中list的复制及深拷贝与浅拷贝
2018/09/03 Python
python实现剪切功能
2019/01/23 Python
docker-py 用Python调用Docker接口的方法
2019/08/30 Python
在Python中字符串、列表、元组、字典之间的相互转换
2019/11/15 Python
python调用接口的4种方式代码实例
2019/11/19 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
中国领先的专业演出票务网:永乐票务
2016/08/29 全球购物
员工自我鉴定范文
2013/10/06 职场文书
2014年居委会工作总结
2014/12/09 职场文书
会计工作态度自我评价
2015/03/06 职场文书
男人帮观后感
2015/06/18 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书
python本地文件服务器实例教程
2021/05/02 Python
MySQL大小写敏感的注意事项
2021/05/24 MySQL
JavaScript异步操作中串行和并行
2021/11/20 Javascript