喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

【村长请吃饭啊】 ---北京诚聘--- 【你还在犹豫吗?】

上一主题 下一主题
     
标题: [原创] 新手写的google样式分页  
 
angeljyt
中级会员
Rank: 3Rank: 3



UID 72645
精华 0
积分 428
帖子 394
金钱 428 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-5-1
状态 离线
新手写的google样式分页

重新写了下分页, 使用google样式, 可以支持html静态化分页. 可以支持模板
固定每页显示20个页号, 如果超过3位数的,则只显示余数,使用title提示.以避免破坏页面布局

<?php

// 参数说明
// $prefix 前缀,不需要则填为空串
// $suffix 后缀,不需要则填为空串
// $count  记录总数
// $recordCount 每页显示的记录数
// $page 当前页号

function page($prefix$suffix$count$recordCount$page)
{
    
$pages ceil($count/$recordCount);

    if (
$page 1)
    {
        
$page 1;
    }
    if(
$page $pages)
    {
        
$page $pages;
    }

    
$prev  $page 1;
    if (
$prev 1)
    {
        
$prev 1;
    }
    
$next  $page 1;
    if (
$next $pages)
    {
        
$next $pages;
    }

    
$result '<div class=page>';
    
$result .= '<a href='.$prefix.$prev.$suffix.' title="上一页"> 上一页 </a>';

    if (
$page 11)
    {
        
$count 10+$page-1;
        for (
$i=1$i <= $count$i++)
        {
            if (
$i != $page)
            {
                
$result .= '<a href='.$prefix.$i.$suffix.' title="第'.$i.'页"> '.$i.' </a>';
            }
            else
            {
                
$result .= '<a> '.$page.' </a>';
            }
        }
    }
    else
    {
        
$p $page 10;
        for (
$i 0$i 20$i++)
        {
            
$tmp $p+$i;
            if (
$tmp $pages)
            {
                break;
            }
            if (
$i != 10)
            {
                
//下面几行过滤3位以上的数为只显示余数,如果余数为0则保留原数
                //真正的页号使用title进行提示
                
$num $tmp;
                if ( 
$num 100 )
                {
                    
$num $num 100;
                    if (
$num == 0)
                    {
                        
//保留尾数为0
                        
$num $tmp;
                    }
                }
                
//如果不需要过滤的话,去了上面几行,同时把下面这行的$num替换为$tmp
                
$result .= '<a href='.$prefix.$tmp.$suffix.' title="第'.$tmp.'页"> '.$num.' </a>';
            }
            else
            {
                
$result .= '<a> '.$page.' </a>';
            }
        }
    }

    
$result .= '<a href='.$prefix.$next.$suffix.' title="下一页"> 下一页 </a>';
    
$result .= '</div>';
    return 
$result;
}
//演示动态页面分页
$p $_GET['p'];
$prefix1 'p.php?p=';
//静态页面分页
$prefix '/test/p';
$suffix '.html';

echo 
page($prefix1''300020$p);
echo 
'<br>';
echo 
page($prefix$suffix300020$p);
?>
[ 本帖最后由 angeljyt 于 2007-6-15 07:50 PM 编辑 ]
2007-6-15 07:47 PM#1
查看资料  Blog  发短消息  顶部
 
angeljyt
中级会员
Rank: 3Rank: 3



UID 72645
精华 0
积分 428
帖子 394
金钱 428 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2006-5-1
状态 离线
[推荐阅读] 小第看留言本教程有点不明白,达人请进。
看来俺写得够丑的.没人理.咋不能删除帖子呢.免得留着碍眼.
2007-6-20 08:23 AM#2
查看资料  Blog  发短消息  顶部
 
熟人
中级会员
Rank: 3Rank: 3



UID 92185
精华 0
积分 332
帖子 476
金钱 332 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2007-4-29
状态 离线
[推荐阅读] 请教mysql导入导出数据问题!
我建议最好不要让分页函数或者类型直接输出html
这样做不容易修改phpcms模板的分页输出就是个失败的典型




性格:馋 懒 奸 猾 坏
兴趣:吃 喝 嫖 赌 抽
职业:坑 蒙 拐 骗 偷
2007-6-20 09:14 AM#3
查看资料  发短消息  顶部
 
looking_for1
注册会员
Rank: 2


UID 78393
精华 0
积分 112
帖子 304
金钱 112 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-8-15
来自 hubei
状态 离线
[推荐阅读] 还是留言本的问题,希望大哥大姐们别BS
我看还行,不错,顶一个先。



爱我的人们,我一定会爱你们
2007-6-20 09:21 AM#4
查看资料  访问主页  Blog  发短消息  QQ  Yahoo!  顶部
 
aninfeel
注册会员
Rank: 2



UID 72153
精华 0
积分 99
帖子 154
金钱 99 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-4-22
来自 广东惠州
状态 离线
[推荐阅读] 北京招聘PHP软件工程师
很好啊,总算发现一个没有和数据库耦合的了,只是直接输出html不好。直接返回一个数组,这个数组包含链接和页码的话,灵活性就大大增强了
2007-6-20 06:38 PM#5
查看资料  发短消息  QQ  顶部
 
looking_for1
注册会员
Rank: 2


UID 78393
精华 0
积分 112
帖子 304
金钱 112 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-8-15
来自 hubei
状态 离线
[推荐阅读] 百元买百鸡
恩   把数据读出来以后  写进数组  再在里面加上两个变量 一个页码  一个连接



爱我的人们,我一定会爱你们
2007-6-21 11:34 AM#6
查看资料  访问主页  Blog  发短消息  QQ  Yahoo!  顶部
 
熟人
中级会员
Rank: 3Rank: 3



UID 92185
精华 0
积分 332
帖子 476
金钱 332 喜悦币
威望 0
人脉 0
阅读权限 30
注册 2007-4-29
状态 离线
[推荐阅读] 高手请进!!AJAX遇到的一个问题,关于返回数据写到列表中的。
一般页码就够了
除非你玩防采集




性格:馋 懒 奸 猾 坏
兴趣:吃 喝 嫖 赌 抽
职业:坑 蒙 拐 骗 偷
2007-6-21 11:44 AM#7
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 


Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.028557 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP