欢迎来到福编程网,本站提供各种互联网专业知识!

一个好用的分页函数

发布时间:2006-11-16 作者: 来源:转载
复制代码代码如下:本人原创的代码,高手看来,也许流程笨拙点,但是很实用.看者要顶啊/*---------------------------------------------------------------//*函数说明:分页函数page($sql,$pagesize="30")*$sql查询语句(除limit外,可带排序或者条件限制)*如&
复制代码 代码如下:
本人原创的代码,高手看来,也许流程笨拙点,但是很实用.看者要顶啊

/*---------------------------------------------------------------//
*函数说明:分页函数page($sql,$pagesize="30")
*$sql查询语句(除limit外,可带排序或者条件限制)
*如select*fromstuwheretimebetween"1"and"30";
*$pagesize每页的显示条数
*##可输出数组$arr的值,说明如下:
*$arr["first"]首页及地址
*$arr["page_pre"]上一页及地址
*$arr["all"]当第几页和总页数
*$arr["page_next"]下一页及地址
*$arr["last"]末页及地址
*$arr["pagelist"]页码列表及地址,显示当前页前后4页列表
*$arr["query"]语句$arr["query"]=mysql_query($sql)
*$arr["nums"]记录总数
*2006.09.06byKevinQQ:84529890
//----------------------------------------------------------------*/
functionpage($sql,$pagesize="30"){

global$arr,$PHP_SELF;

$query=mysql_query($sql);
$num=mysql_num_rows($query);
$pagecount=ceil($num/$pagesize);
$page=$_GET["page"];
if(!$page)$page=1;
if($page>$pagecount)$page=$pagecount;

$offset=($page-1)*$pagesize;
$sql.="limit$offset,$pagesize";
$arr["query"]=mysql_query($sql);

if($page>1){
$page_pre=$page-1;
$page_url=$PHP_SELF."?page=".$page_pre;
$arr["page_pre"]="上一页|n";
}
if($page<$pagecount){
$page_next=$page+1;
$page_url=$PHP_SELF."?page=".$page_next;
$arr["page_next"]="|下一页n";
}

$arr["all"]="".$page."/".$pagecount."页n";
$arr["first"]="首页n|";
$arr["last"]="|末页n";

$plfront="";
if($page<=5&&$page>=1){
for($i=1;$i<=9;$i++){
$plfront.="".$i."";
}
}elseif($page>5&&$page<$pagecount-5){
for($i=$page-4;$i<$page+5;$i++){
$plfront.="".$i."";
}
}else{
for($i=$pagecount-8;$i<=$pagecount;$i++){
$plfront.="".$i."";
}
}

$arr["pagelist"]=$plfront."";
$arr["nums"]=$num;
}

相关推荐