免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2712 | 回复: 4

仿豆瓣分页导航 [复制链接]

论坛徽章:
0
发表于 2011-04-16 00:06 |显示全部楼层
本帖最后由 infernor 于 2011-04-16 14:17 编辑
  1. #!/usr/bin/perl
  2. #==========================================================================
  3. #         FILE:  page.pl
  4. #       AUTHOR:  YOUR NAME (),
  5. #      VERSION:  1.0
  6. #      CREATED:  2011/4/15 21:24:09

  7. use strict;
  8. use warnings;
  9. my ($page, $current) = @ARGV;

  10. my @page = $current-4..$current+4;

  11. #left
  12. if ($current - 1 < 10) {
  13.         my $l_r = ($current+4 >9)?$current+4:9;
  14.         @page = 1..$l_r;
  15. }
  16. else {
  17.         unshift @page, 1,2,0;

  18. }
  19. #right
  20. if ($page-$current < 10) {
  21.         pop @page for (1..9);
  22.         my $r_l = ($page-$current > 4)?$current-4:$page-8;
  23.         push @page, $r_l..$page;
  24. }
  25. else {
  26.         push @page, 0,$page-1,$page;
  27. }
  28. # when page < 10
  29. @page = grep {$_ >= 0} @page;
  30. shift @page unless $page[0];
  31. print join ',', @page;
复制代码
算法不好,勉强实现了功能,有没有简单点的实现方式?

论坛徽章:
0
发表于 2011-04-16 11:08 |显示全部楼层
算法不好,勉强实现了功能,有没有简单点的实现方式?
infernor 发表于 2011-04-16 00:06



    这种一般用数据库的SQL语句limit N,M来做。

论坛徽章:
0
发表于 2011-04-16 14:21 |显示全部楼层
回复 2# 兰花仙子


   我可能表述得不清楚,仙子没看明白

我说的是导航那里,控制哪些页面的链接出现,比如

上一页 1 2 3 4 5 6 7 8 9 10...63 64 下一页

给个豆瓣链接 http://www.douban.com/group/topic/15108130/

论坛徽章:
0
发表于 2011-04-17 11:11 |显示全部楼层
雕虫小技,分页实现千万种,Web开发必备能力。

论坛徽章:
0
发表于 2011-04-18 08:08 |显示全部楼层
use Data:: Page
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP