欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

一个好用的分页函数

程序员文章站 2022-05-13 16:26:11
...
复制代码 代码如下:


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

/*---------------------------------------------------------------//
* 函数说明:分页函数 page($sql,$pagesize="30")
* $sql 查询语句(除limit外,可带排序或者条件限制)
* 如 select * from stu where time between "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.06 by Kevin QQ:84529890
//----------------------------------------------------------------*/
function page($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 $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=1){
for($i=1;$i $plfront.= " ".$i."";
}
}elseif($page>5 && $page for($i=$page-4;$i $plfront.= " ".$i."";
}
}else{
for($i=$pagecount-8;$i $plfront.= " ".$i."";
}
}

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