function pagenum($pagersize,$pagertotal,$pagerurl){
$pager_Size =$pagersize;
$pager_Number = ceil($pager_Total/$pager_Size);
$pager_URL = $pagerurl;
//当前页的页数,从REQUEST获得
if(isset($_GET['pager_PageID'])&& !empty($_GET['pager_PageID'])){
$pager_PageID = intval($_GET['pager_PageID']);
}else{
//第一次访问
$pager_PageID = 1;
}
//每页的起,始记录数
if ($pager_PageID == 1 ) {
$pager_StartNum = 0;
} else {
$pager_StartNum = ($pager_PageID -1) * $pager_Size;
}
$pager_EndNum = $pager_StartNum + $pager_Size-1;

// 生成 1 2 3 ......
if($pager_Number > 1){
for($i=1;$i<=$pager_Number;$i++ ){
if($pager_PageID == $i){
$colorpre="<font color="#FF0000" size="+1"> ";
$colornext="</font>";
}else{
$colorpre="";
$colornext="";
}
$pager_Linksmun.= "<a href=".$pager_URL."&pager_PageID=".$i." class=LinkText11>".$colorpre.$i.$colornext."</a>";
}
}
if ($pager_PageID == 1 && $pager_Number>1) {
//第一页
$pager_Links = $pager_Linksmun."<a href=".$pager_URL."&pager_PageID=".($pager_PageID+1)." class=LinkText1>下一页</a>";
} elseif($pager_PageID == $pager_Number && $pager_Number>1) {
//最后一页
$pager_Links = "<a href=".$pager_URL."&pager_PageID=".($pager_PageID-1)." class=LinkText1>上一页</a>". $pager_Linksmun;
} elseif ($pager_PageID > 1 && $pager_PageID <= $pager_Number) {
//中间
$pager_Links = "<a href=".$pager_URL."&pager_PageID=".($pager_PageID-1)." class=LinkText1>上一页</a> |". $pager_Linksmun." <a href=".$pager_URL."&pager_PageID=".($pager_PageID+1)." class=LinkText1>下一页</a>";
} else {
$pager_Links = " ";
}
//总的记录数
$smarty->assign('pager_Total',$pagertotal);
$smarty->assign('pager_StartNum',$pager_StartNum);
$smarty->assign('pager_EndNum',$pager_EndNum);
$smarty->assign('pager_Links',$pager_Links);
}
本文介绍了一种使用PHP实现分页功能的方法,包括如何计算总页数、当前页数及显示链接等内容。通过设定每页显示条数和总记录数,可以自动生成带有高亮显示的分页链接。
2161

被折叠的 条评论
为什么被折叠?



