一个好用的分页函数

时间:2021-05-25

复制代码 代码如下:
本人原创的代码,高手看来,也许流程笨拙点,但是很实用.看者要顶啊

/*---------------------------------------------------------------//
*函数说明:分页函数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"]="<ahref=\"".$page_url."\">上一页|</a>\n";
}
if($page<$pagecount){
$page_next=$page+1;
$page_url=$PHP_SELF."?page=".$page_next;
$arr["page_next"]="|<ahref=\"".$page_url."\">下一页</a>\n";
}

$arr["all"]="<fontcolor=\"#FF0000\">".$page."</font>/".$pagecount."页\n";
$arr["first"]="<ahref=\"".$PHP_SELF."?page=1\">首页</a>\n|";
$arr["last"]="|<ahref=\"".$PHP_SELF."?page=".$pagecount."\">末页</a>\n";

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

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章