网管

返回首页
当前位置: 网管>网站建设>php>

php分页函数

时间:2009-09-15 23:41来源:未知 作者:admin 点击:
page.php -------------------------- ?php //说明:这个是分页通用函数,本函数只负责生成分页信息,不对数据库进行任何操作。 //$resultCount: 记录集总数 //$pageSize:每页显示的记录数 //$currentPage:当前页数
  

page.php
--------------------------
<?php 
//说明:这个是分页通用函数,本函数只负责生成分页信息,不对数据库进行任何操作。
//$resultCount: 记录集总数
//$pageSize:每页显示的记录数
//$currentPage:当前页数
//$url:连接URL,可以是“myPage?page=”或者可以跟参数“myPage?name=searchName&page=”
function getPages($resultCount,$pageSize,$currentPage,$url)
{
//计算总页数
$pageCount=0;
if($resultCount%$pageSize==0)
{
$pageCount=(int)$resultCount/$pageSize;
}else{
$pageCount=(int)($resultCount/$pageSize)+1;
}

//计算当前页
if(!$currentPage||$currentPage<0)
{
$currentPage=1;
}

if($currentPage>=$pageCount)
{
$currentPage=$pageCount;
}


//开始拼凑[上一页],[下一页]等连接
$beginPag;
$previousPage;
$nextPage;
$lastPage;
if(($currentPage==$pageCount)&&($currentPage==1))
{
$beginPage=\'[首页]\'; 
$previousPage=\'[上一页]\';
$nextPage=\'[下一页]\';
$lastPage=\'[尾页]\';
}else if($currentPage==1)
{//这个情况下[上一页]与[首页]无效
$beginPage=\'[首页]\'; 
$previousPage=\'[上一页]\';
$nextPage=\'<a href=\'.$url.($currentPage+1).\'>[下一页]</a>\';
$lastPage=\'<a href=\'.$url.$pageCount.\'>[尾页]</a>\';
}else if($currentPage==$pageCount)
{//这个时候[下一页]与[尾页]无效
$beginPage=\'<a href=\'.$url.\'1>[首页]</a>\'; 
$previousPage=\'<a href=\'.$url.($currentPage-1).\'>[上一页]</a>\';
$nextPage=\'[下一页]\';
$lastPage=\'[尾页]\';
}
else
{
$beginPage=\'<a href=\'.$url.\'1>[首页]</a>\'; 
$previousPage=\'<a href=\'.$url.($currentPage-1).\'>[上一页]</a>\';
$nextPage=\'<a href=\'.$url.($currentPage+1).\'>[下一页]</a>\';
$lastPage=\'<a href=\'.$url.$pageCount.\'>[尾页]</a>\';
}
$pageInfo=\'共有\'.$resultCount.\'条记录,目前第\'.$currentPage.\'页,共\'.$pageCount.\'页\';
$showPages=$pageInfo.\' \'.$beginPage.\' \'.$previousPage.\' \'.$nextPage.\' \'.$lastPage;
return $showPages;
}
?>

测试文件pageTest.php的BODY部分
-----------------------------------------------
<?php 
require("page.php");
$resultCount=50;
$pageSize=8;
$currentPage= $_GET["page"];
$url="pageTest.php?page=";
$show=getPages($resultCount,$pageSize,$currentPage,$url);
echo $show;
?>

现场运用中,需要计算出$resultCount,总页数$pageCount, $currentPage等,这样可以构造高效的SQL语句。
如:$fromNum=$currentPage*$pageSize-$pageSize;
$sql = "SELECT * FROM person limit $fromNum,$pageSize"; //mysql适用

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容