Haohappy的专栏--PHP5研究中心

PHP5研究中心 研究专业PHP技术,传播全球最新PHP动态 ,推广国内PHP企业应用

用户操作
[即时聊天] [发私信] [加为好友]
HaohappyID:Haohappy2004
588586次访问,排名66好友0人,关注者0
make ur life better..
Haohappy2004的文章
原创 167 篇
翻译 0 篇
转载 0 篇
评论 512 篇
Haohappy的公告
我的Blog主要关于PHP/Java WEB开发。欢迎讨论:

Email & MSN:


所有文章均为Haohappy原创或翻译,需要转载请通过Email与我联系


我的网站:
PHPEye开源社区
phpeye.com

我的新书:


《Programming PHP》中文版第二版,陈浩(Haohappy)、胡丹、徐景(RainX)译,电子工业出版社出版,2007年4月上市)

网上书店购买地址:
当当网(dangdang.com)
互动出版网(china-pub.com)
第二书店(dearbook.com)
华储网(huachu.com.cn)
蔚蓝书店(welan.com)

本书 配套论坛  勘误系统

常用参考手册:

最近评论
lixianyi08:呵呵 有道理 我除了JSP什么都会点 什么都不精通 还要加油啊
lixianyi08:呵呵 有道理 我除了JSP什么都会点 什么都不精通 还要加油啊
sjeMrwang:忽人啊!根本下不了啊!!!!!!!!!!
ylcz:鱼龙混杂,确实有点失望,虽然自己技术水平非常菜,但是也很少贡献水文,可是人家发什么文是人家的自由,如此一来,只能无奈..
liulizhi:我以前也是做.net开发的,但出来社会后,环境让我不得不开始学习PHP的开发与操作,虽然大家都认为PHP好学,但我却不这样认为,asp.net我用一个来月就会弄个基本的啦,但我学php一个月后,却连个简单的企业网站都开发不出来...晕死,特别是他的扩展,性能,安全方面我知道还要少..咱办呢?毛有办法.拼命的再学啦@
文章分类
收藏
    相册
    Blogs
    Fantasy Soft(RSS)
    Freeman的Blog
    hosander的专栏
    PHPEye.com
    web2.0 focus(RSS)
    开发视界[专家专栏](RSS)
    歪脖·坑(RSS)
    存档
    订阅我的博客
    XML聚合  FeedSky

    原创 PEAR探奇之PEAR::Pager [一]收藏

    新一篇: PEAR探奇之PEAR::Pager [二] | 旧一篇: 一个解析URL及图片地址的JS函数

    PEAR探奇之PEAR::Pager

    2005-09-29
    Haohappy
    <http://blog.csdn.net/haohappy2004>

    在页面上显示大量数据,是WEB项目中很常见的一个作法,但限于屏幕的大小,为了便于用户阅读,我们通常需要将数据分页显示,所以分页功能是大部份项目不可缺少的。PEAR::Pager是一个功能强大的分页类,使用非常方便。

     

    系统需求:

    PHP4.3.* /PHP5

    PEAR::Pager

     

    PEAR::Pager有两种分页显示模式,一是Jumping,二是Sliding。两者有什么区别,我们来看两个例子:

    Jumping.php

     

    <?php

    require_once 'Pager/Pager.php';

    $params = array(
        
    'mode'       => 'Jumping',
        
    'perPage'    => 3,
        
    'delta'      => 5,
        
    'itemData'   => array('a','b','c','d','e','z','ty','xc','fg','fg','jk','hj','ty','xc','e','z','ty','xc','fg','fg','jk','hj','ty','xc')
    );

    echo 
    "<BR>当前分页模式:".$params['mode'];
    echo 
    "<BR>每页显示数据条数:".$params['perPage'];
    echo 
    "<BR>显示页数:".$params['delta'];
    echo 
    "<BR>详细数据数组:";
    print_r($params['itemData']);


    $pager = & Pager::factory($params);
    $data  $pager->getPageData();
    $links $pager->getLinks();


    echo 
    "<P>最后效果:";
    echo 
    $links['all'];
    echo 
    $pager->linkTags;

    echo 
    '<P>当前页的数据: ' ;
    echo 
    "<pre>";
    print_r($data);
    echo 
    "</pre>";

    echo 
    "其它类方法得到的数据:<P>";
    echo 
    'getCurrentPageID()...: ';
    var_dump($pager->getCurrentPageID()); 
    echo 
    "<BR>";
    echo 
    'getNextPageID()......: '
    var_dump($pager->getNextPageID()); 
    echo 
    "<BR>";
    echo 
    'getPreviousPageID()..: '
    var_dump($pager->getPreviousPageID());
    echo 
    "<BR>";
    echo 
    'numItems()...........: ';
    var_dump($pager->numItems()); 
    echo 
    "<BR>";
    echo 
    'numPages()...........: ';
    var_dump($pager->numPages());
    echo 
    "<BR>";
    echo 
    'isFirstPage()........: ';
    var_dump($pager->isFirstPage());
    echo 
    "<BR>";
    echo 
    'isLastPage().........: ';
    var_dump($pager->isLastPage());
    echo 
    "<BR>";
    echo 
    'isLastPageComplete().: ';
    var_dump($pager->isLastPageComplete());
    echo 
    "<BR>";
    echo 
    '$pager->range........: ';
    var_dump($pager->range); echo "<BR>";

    ?>

     

    运行结果如下图:

     


    发表于 @ 2005年09月30日 11:53:00|评论(loading...)|编辑

    新一篇: PEAR探奇之PEAR::Pager [二] | 旧一篇: 一个解析URL及图片地址的JS函数

    评论

    #httpnet 发表于2005-10-07 12:36:00  IP: 211.100.21.*
    有一个问题,如何加入phpmore编辑团队
    #httpnet 发表于2005-10-07 12:39:00  IP: 211.100.21.*
    有一个问题,如何加入phpmore编辑团队
    #httpnet 发表于2005-10-07 12:39:00  IP: 211.100.21.*
    有一个问题,如何加入phpmore编辑团队
    #网络一只虾 发表于2005-10-15 11:25:00  IP: 211.100.21.*
    PEAR::Pager对中文支持有点问题,不知道HaoHappy大师有没有碰到这个问题?
    当引用PEAR::Pager的页面是一个带GET参数输入的页面时,如:/search.php?kw=电脑产品&q=外设,在这种情况下,Pager输出的页码跳转链接(Next 1 2 3 BACK)对参数的编码转行了转换,导致ASCII以外的编码的参数变成乱码,而链接出错。
    #deminy 发表于2005-11-14 02:17:00  IP: 24.36.104.*
    这时候可能涉及到多字节编码问题。

    1. 很可能你的PHP需要多字节支持(默认很可能没有打开,查看多字节字符串函数部分)。如果pear对多字节支持不是很好的话(估计不会),安全可靠的做法是在PHP中将URL中的中文(GB2312)转换成UTF-8输出到web页面,PHP读入URL参数的时候再将读入的UTF-8的字符串转换成GB2312。

    2. 不过,也许直接用urlencode和urldecode就足够了(未测试过)。
    #xiaocon 发表于2005-11-22 17:05:00  IP: 58.33.22.*
    有一行代码,改成下面的就可以了,关键是htmlentities这个函数,要加上gb2312
    htmlentities($this->_url . $href,ENT_QUOTES,'GB2312'),
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © Haohappy