查看: 5065|回复: 0
打印 上一主题 下一主题

PHP分页通用类CPages

[复制链接]
跳转到指定楼层
1#
发表于 2007-10-4 22:35:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
台州网址导航
成员函数说明
---------------------------------------------------------------------------------------------------------------------
public void CPages(int $page_count [,string $extra_str,string $page_str,int $num_per_page]);
函数功能:根据参数 生成分页链接
参数说明:
    $page_count        整型                    总页数                            必要参数
    $extra_str            字符串                附加QueryString            可选参数
        如 http://www.tzlink.com/st.php?sort=new_list&page=13
        则其中的 $extra_str="sort==new_list"; 这在条件查询中用得比较多
    $page_str        字符串                分页的标识字符串         可选参数
        如上面的URL之中的 $page_str=="page"
    $num_per_page    整型                    每页要显示的页码链接数    可选参数 
        默认为10
----------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------
public int CPages::get_current_page($page_str="page")

函数功能:获取合法的当前页号,注意 此函数只保证取得合法的页号,并不保证所取得的页号不超过总页数
    参数说明:
        $page_str:分页标识字符串 
-----------------------------------------------------------------------------------------------------------------------


用法范例:
   
    $p=CPages::link(25,"sort=new&year=2007","offset",12)
    当然,这里的总页数要事先经查询数据库获得
*************************************

*/
  1. class CPages
  2. {
  3.     var $page_count;
  4.    
  5.     public function link($page_count,$extra_str="",$page_str="page",$num_per_page=10)
  6.     {
  7.         Global $PHP_SELF;
  8.         $prefix=$PHP_SELF.'?'.$extra_str.'&'.$page_str.'=';
  9.         $current_page=self::get_current_page($page_str);
  10.         if($page_count<=1)   
  11.         {
  12.             return ;
  13.         }
  14.         
  15.         if($current_page>1)
  16.         {
  17.             echo("<首页> ");
  18.         }
  19.         if(floor($current_page/$num_per_page))
  20.         {
  21.             printf(" %s\n",$num_per_page,$prefix,floor($current_page/$num_per_page)*$num_per_page-1,"<<");//
  22.         }
  23.         
  24.         $tmp=floor($current_page/$num_per_page)*$num_per_page+1;
  25.         $s2=ceil($tmp/$num_per_page)*$num_per_page;
  26.         for($i=$tmp;($i<=$s2&&$i<=$page_count);$i++)
  27.         {
  28.             if($i==$current_page)
  29.             {
  30.                     echo("$i ");
  31.                     continue;
  32.             }
  33.             echo(" $i\n");
  34.         }

  35.         if((floor($current_page/$num_per_page)*$num_per_page+$num_per_page)<$page_count)
  36.         {
  37.             printf("%s",$num_per_page,$prefix,ceil($current_page/$num_per_page)*$num_per_page+1,">>");
  38.         }
  39.         
  40.         if($current_page<$page_count)
  41.         {
  42.             echo(" <末页>");
  43.         }
  44.         printf(" ",$current_page<$page_count?$current_page+1:1);
  45.         printf(" ",$prefix);
  46.         
  47.         printf("\n页次 $current_page/$page_count\n");
  48.         
  49.     }
  50.    
  51.     public function get_current_page($page_str="page")
  52.     {
  53.         if(isset($_GET[$page_str]))
  54.         {
  55.             $page_str=$_GET[$page_str];
  56.             if(!is_numeric($page_str))
  57.                     return 1;
  58.             return ($page_str);
  59.         }
  60.         else
  61.             return 1;
  62.     }
  63. }


  64. $p=new CPages(37);
  65. $p->link(26,"fa=12&uid=faiefafpflf");
  66. ?>
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
台州维博网络(www.tzweb.com)专门运用PHP+MYSQL/ASP.NET+MSSQL技术开发网站门户平台系统等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

网站推广
关于我们
  • 台州朗动科技(Tzweb.com)拥有多年开发网站平台系统门户手机客户端等业务的成功经验。主要从事:政企网站,系统平台,微信公众号,各类小程序,手机APP客户端,浙里办微应用,浙政钉微应用、主机域名、虚拟空间、后期维护等服务,满足不同企业公司的需求,是台州地区领先的网络技术服务商!

Hi,扫描关注我

Copyright © 2005-2026 站长论坛 All rights reserved

Powered by 站长论坛 with TZWEB Update Techonolgy Support

快速回复 返回顶部 返回列表