用PHP写的一个分页函数程序
因为分页程序要常用到,以前也封装过,不过都没怎么认真的封装过,这个算是用了点时间吧,很简单的一个小程序!
<?php
/* author:meiking?0?2 05,06,01
* $fileName 是当前调用此程序的文件名
* $page 为当前页数
* $pageSize 为每一页显示记录的条数
* $itemTotalNum 为记录的总数
* 剩下的变量为参数的名称和参数的值,现在此函数最多支持两个参数
*/
function pageList($fileName, $page, $pageSize, $itemTotalNum
,$par_1_name = NULL, $par_1_val = NULL
,$par_2_name = NULL, $par_2_val = NULL) {
$pageNum = ceil($itemTotalNum/$pageSize); //得到记录的总页数
if($pageNum == 1) return ""; //如果数量不够分页则返回NULL
$url = $fileName."?p=";
$urlVal = "&".$par_1_name."=".$par_1_val."&".$par_2_name."=".$par_2_val;
$firstPage = ($page <= 1)?"首页":"<a href=".$url."1".$urlVal.">首页</a>";
$endPage = ($page >= $pageNum)?"末页":"<a href=".$url.$pageNum.$urlVal.">末页</a>";
$prePage = ($page <= 1)?"上一页":"<a href=".$url.($page-1).$urlVal.">上一页</a>";
$nextPage = ($page >= $pageNum)?"下一页":"<a href=".$url.($page+1).$urlVal.">下一页</a>";
$numPage = ""; //按数字显示
for($i = ($page-3);$i <= $page+3;$i++) {
if($i < 1 || $i > $pageNum) continue;
if($i == $page) $numPage.= " <b><font color=red>".$i."</font></b> ";
else $numPage.= " <b><a href=".$url.$i.$urlVal.">".$i."</a></b> ";
}
return $firstPage." ".$prePage." ".$numPage." ".$nextPage." ".$endPage;
}
?>
<?php
/* author:meiking?0?2 05,06,01
* $fileName 是当前调用此程序的文件名
* $page 为当前页数
* $pageSize 为每一页显示记录的条数
* $itemTotalNum 为记录的总数
* 剩下的变量为参数的名称和参数的值,现在此函数最多支持两个参数
*/
function pageList($fileName, $page, $pageSize, $itemTotalNum
,$par_1_name = NULL, $par_1_val = NULL
,$par_2_name = NULL, $par_2_val = NULL) {
$pageNum = ceil($itemTotalNum/$pageSize); //得到记录的总页数
if($pageNum == 1) return ""; //如果数量不够分页则返回NULL
$url = $fileName."?p=";
$urlVal = "&".$par_1_name."=".$par_1_val."&".$par_2_name."=".$par_2_val;
$firstPage = ($page <= 1)?"首页":"<a href=".$url."1".$urlVal.">首页</a>";
$endPage = ($page >= $pageNum)?"末页":"<a href=".$url.$pageNum.$urlVal.">末页</a>";
$prePage = ($page <= 1)?"上一页":"<a href=".$url.($page-1).$urlVal.">上一页</a>";
$nextPage = ($page >= $pageNum)?"下一页":"<a href=".$url.($page+1).$urlVal.">下一页</a>";
$numPage = ""; //按数字显示
for($i = ($page-3);$i <= $page+3;$i++) {
if($i < 1 || $i > $pageNum) continue;
if($i == $page) $numPage.= " <b><font color=red>".$i."</font></b> ";
else $numPage.= " <b><a href=".$url.$i.$urlVal.">".$i."</a></b> ";
}
return $firstPage." ".$prePage." ".$numPage." ".$nextPage." ".$endPage;
}
?>
meiking
2005-06-02 09:37:43
评论:1
阅读:1602
引用:0
无题
@2005-06-03 09:00:45 meiking
其实可以把参数的值和参数的名称存到一个数组里,然后 foreach 出来!
