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中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
May 04 PHP
PHP类与对象中的private访问控制的疑问
Nov 01 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
Jan 31 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
May 15 PHP
php中使用gd库实现下载网页中所有图片
May 12 PHP
PHP+Mysql+jQuery中国地图区域数据统计实例讲解
Oct 10 PHP
php使用文本统计访问量的方法
May 12 PHP
PHP框架Laravel插件Pagination实现自定义分页
Apr 22 PHP
PHP 在数组中搜索给定的简单实例 array_search 函数
Jun 13 PHP
ThinkPHP框架分布式数据库连接方法详解
Mar 14 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
Jan 15 PHP
Laravel 创建可以传递参数 Console服务的例子
Oct 14 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
PHP多进程编程实例
2014/10/15 PHP
PHP+jquery实时显示网站在线人数的方法
2015/01/04 PHP
php获取系统变量方法小结
2015/05/29 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
基于jquery可配置循环左右滚动例子
2011/09/09 Javascript
Jquery写一个鼠标拖动效果实现原理与代码
2012/12/24 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
Dojo Javascript 编程规范 规范自己的JavaScript书写
2014/10/26 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
URL中“#” “?” &amp;“”号的作用浅析
2017/02/04 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
利用js编写网页进度条效果
2017/10/08 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
2017/11/15 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
vue路由守卫+登录态管理实例分析
2019/05/21 Javascript
基于Element的组件改造的树形选择器(树形下拉框)
2020/02/27 Javascript
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
[35:43]2018DOTA2亚洲邀请赛 4.1 小组赛B组 paiN vs Effect
2018/04/03 DOTA
tornado捕获和处理404错误的方法
2014/02/26 Python
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
2015/04/09 Python
Python实现模拟登录及表单提交的方法
2015/07/25 Python
Windows下安装python MySQLdb遇到的问题及解决方法
2017/03/16 Python
python3 kmp 字符串匹配的方法
2018/07/07 Python
python得到电脑的开机时间方法
2018/10/15 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
自荐信结尾
2013/10/27 职场文书
建材业务员岗位职责
2013/12/08 职场文书
《猴王出世》教学反思
2016/02/23 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书
处世之道:关于真诚相待的名言推荐
2019/12/02 职场文书
golang生成vcf通讯录格式文件详情
2022/03/25 Golang
vue 自定义组件添加原生事件
2022/04/21 Vue.js
Nginx的gzip相关介绍
2022/05/11 Servers