本人原创的代码,高手看来,也许流程笨拙点,但是很实用.看者要顶啊
/*---------------------------------------------------------------//
*函数说明:分页函数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"]="
}
if($page<$pagecount){
$page_next=$page+1;
$page_url=$PHP_SELF."?page=".$page_next;
$arr["page_next"]="|
}
$arr["all"]="
$arr["first"]="
$arr["last"]="|
$plfront="";
if($page<=5&&$page>=1){
for($i=1;$i<=9;$i++){
$plfront.="
}
}elseif($page>5&&$page<$pagecount-5){
for($i=$page-4;$i<$page+5;$i++){
$plfront.="
}
}else{
for($i=$pagecount-8;$i<=$pagecount;$i++){
$plfront.="
}
}
$arr["pagelist"]=$plfront."";
$arr["nums"]=$num;
}