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 获取可变函数参数的函数
Aug 26 PHP
PHP curl实现抓取302跳转后页面的示例
Jul 04 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
Aug 20 PHP
CentOS6.5 编译安装lnmp环境
Dec 21 PHP
PHP中使用hidef扩展代替define提高性能
Apr 09 PHP
php实现比较两个字符串日期大小的方法
May 12 PHP
php检测图片主要颜色的方法
Jul 01 PHP
php基本函数汇总
Jul 09 PHP
Zend Framework动作助手FlashMessenger用法详解
Mar 05 PHP
PHP操作mysql数据库分表的方法
Jun 09 PHP
PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)
Sep 11 PHP
使用Git实现Laravel项目的自动化部署
Nov 24 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
一台收音机,让一家人都笑逐颜开!
2020/08/21 无线电
php smarty 二级分类代码和模版循环例子
2011/06/01 PHP
深入php list()函数的详解
2013/06/05 PHP
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
php如何执行非缓冲查询API
2016/07/22 PHP
JavaScript CSS修改学习第二章 样式
2010/02/19 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
理解javascript中DOM事件
2015/12/25 Javascript
JS查找字符串中出现次数最多的字符
2016/09/05 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
jquery中用jsonp实现搜索框功能
2016/10/18 Javascript
Angular.JS学习之依赖注入$injector详析
2016/10/20 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
jquery设置css样式的多种方法(总结)
2017/02/21 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
2017/06/20 Javascript
JS扩展String.prototype.format字符串拼接的功能
2018/03/09 Javascript
vue-cli项目优化方法- 缩短首屏加载时间
2018/04/01 Javascript
vue实现通讯录功能
2018/07/14 Javascript
javascript的delete运算符知识点总结
2019/11/19 Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
2020/04/13 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
JS字符串和数组如何实现相互转化
2020/07/02 Javascript
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
2020/08/20 NodeJs
Vite和Vue CLI的优劣
2021/01/30 Vue.js
使用Python解析JSON数据的基本方法
2015/10/15 Python
Python的Flask框架中集成CKeditor富文本编辑器的教程
2016/06/13 Python
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
String是最基本的数据类型吗?
2013/06/13 面试题
学生安全承诺书
2014/05/22 职场文书
2015年医院保卫科工作总结
2015/07/23 职场文书
go xorm框架的使用
2021/05/22 Golang
Python中的程序流程控制语句
2022/02/24 Python
使用Python拟合函数曲线
2022/04/14 Python
js前端设计模式优化50%表单校验代码示例
2022/06/21 Javascript