热烈祝贺台州朗动科技的站长论坛隆重上线!(2012-05-28)    热烈庆祝伟大的祖国60周年生日 点击进来我们一起为她祝福吧(2009-09-26)    站长论坛禁止发布广告,一经发现立即删除。谢谢各位合作!.(2009-08-08)    热烈祝贺台州网址导航全面升级,全新版本上线!希望各位一如既往地支持台州网址导航的发展.(2009-03-28)    台州站长论坛恭祝各位新年快乐,牛年行大运!(2009-01-24)    台州Link正式更名为台州网址导航,专业做以台州网址为主的网址导航!(2008-05-23)    热烈祝贺台州Link资讯改名为中国站长资讯!希望在以后日子里得到大家的大力支持和帮助!(2008-04-10)    热烈祝贺台州Link论坛改名为台州站长论坛!希望大家继续支持和鼓励!(2008-04-10)    台州站长论坛原[社会琐碎]版块更名为[生活百科]版块!(2007-09-05)    特此通知:新台州站长论坛的数据信息全部升级成功!">特此通知:新台州站长论坛的数据信息全部升级成功!(2007-09-01)    台州站长论坛对未通过验证的会员进行合理的清除,请您谅解(2007-08-30)    台州网址导航|上网导航诚邀世界各地的网站友情链接和友谊联盟,共同引领网站导航、前进!(2007-08-30)    禁止发广告之类的帖,已发现立即删除!(2007-08-30)    希望各位上传与下载有用资源和最新信息(2007-08-30)    热烈祝贺台州站长论坛全面升级成功,全新上线!(2007-08-30)    
便民网址导航,轻松网上冲浪。
台州维博网络专业开发网站门户平台系统
您当前的位置: 首页 » PHP/Perl编程 » PHP分页通用类CPages

PHP分页通用类CPages

论坛链接
  • PHP分页通用类CPages
  • 发布时间:2007-10-04 22:35:00    浏览数:5083    发布者:superadmin    设置字体【   
成员函数说明
---------------------------------------------------------------------------------------------------------------------
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");
?>
娱乐休闲专区A 影视预告B 音乐咖啡C 英语阶梯D 生活百科
网页编程专区E AMPZF HTMLG CSSH JSI ASPJ PHPK JSPL MySQLM AJAX
Linux技术区 N 系统管理O 服务器架设P 网络/硬件Q 编程序开发R 内核/嵌入
管理中心专区S 发布网址T 版主议事U 事务处理