|
|

成员函数说明
---------------------------------------------------------------------------------------------------------------------
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)
当然,这里的总页数要事先经查询数据库获得
*************************************
*/- class CPages
- {
- var $page_count;
-
- public function link($page_count,$extra_str="",$page_str="page",$num_per_page=10)
- {
- Global $PHP_SELF;
- $prefix=$PHP_SELF.'?'.$extra_str.'&'.$page_str.'=';
- $current_page=self::get_current_page($page_str);
- if($page_count<=1)
- {
- return ;
- }
-
- if($current_page>1)
- {
- echo("<首页> ");
- }
- if(floor($current_page/$num_per_page))
- {
- printf(" %s\n",$num_per_page,$prefix,floor($current_page/$num_per_page)*$num_per_page-1,"<<");//
- }
-
- $tmp=floor($current_page/$num_per_page)*$num_per_page+1;
- $s2=ceil($tmp/$num_per_page)*$num_per_page;
- for($i=$tmp;($i<=$s2&&$i<=$page_count);$i++)
- {
- if($i==$current_page)
- {
- echo("$i ");
- continue;
- }
- echo(" $i\n");
- }
- if((floor($current_page/$num_per_page)*$num_per_page+$num_per_page)<$page_count)
- {
- printf("%s",$num_per_page,$prefix,ceil($current_page/$num_per_page)*$num_per_page+1,">>");
- }
-
- if($current_page<$page_count)
- {
- echo(" <末页>");
- }
- printf(" ",$current_page<$page_count?$current_page+1:1);
- printf(" ",$prefix);
-
- printf("\n页次 $current_page/$page_count\n");
-
- }
-
- public function get_current_page($page_str="page")
- {
- if(isset($_GET[$page_str]))
- {
- $page_str=$_GET[$page_str];
- if(!is_numeric($page_str))
- return 1;
- return ($page_str);
- }
- else
- return 1;
- }
- }
- $p=new CPages(37);
- $p->link(26,"fa=12&uid=faiefafpflf");
- ?>
复制代码 |
|