首页 > 开发 > PHP > 正文

一个好用的分页函数

2024-05-04 22:14:37
字体:
来源:转载
供稿:网友
代码如下:
本人原创的代码,高手看来,也许流程笨拙点,但是很实用.看者要顶啊

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

$arr["all"] = "<font color=/"#FF0000/">".$page ."</font>/". $pagecount . "页/n";
$arr["first"] = "<a href=/"".$PHP_SELF."?page=1/">首页</a>/n|";
上一篇:第十一节--重载

下一篇:PHP初学入门

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表