分页函数及最佳统计记录方法

本文介绍了一种使用PHP实现分页导航的方法,通过自定义函数pageft来处理页面跳转、记录总数及每页显示数量等问题。该方法能够根据当前页数动态生成上一页、下一页等链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?
if(!function_exists(pageft)){ 
function pageft($totle,$displaypg=20,$url=''){
global $page,$firstcount,$pagenav,$_SERVER;
$GLOBALS["displaypg"]=$displaypg;

if(!$page$page=1;
if(!$url){ $url=$_SERVER["REQUEST_URI"];}
$parse_url=parse_url($url);
$url_query=$parse_url["query"]; 
if($url_query){
$url_query=ereg_replace("(^|&)page=$page","",$url_query);
$url=str_replace($parse_url["query"],$url_query,$url);
if($url_query$url.="&page"else $url.="page";
}
else {
$url.="?page";
}
$lastpg=ceil($totle/$displaypg); 
$page=min($lastpg,$page);
$prepg=$page-1;
$nextpg=($page==$lastpg ? 0 : $page+1);
$firstcount=($page-1)*$displaypg;
$pagenav="";
if($lastpg<=1return false;
if($page!=1$pagenav.=" <a href='$url=1'> <img src="".WWW.BACK."images/first.jpg" width="64" height="16" border="0"></a> "else  $pagenav.=" <img src="".WWW.BACK."images/first.gif" width="64" height="16" border="0"> ";
if($prepg$pagenav.="<a href='$url=$prepg'><img src="".WWW.BACK."images/previous.jpg" width="81" height="16" border="0"></a> "else $pagenav.="<img src="".WWW.BACK."images/previous.gif" width="81" height="16"> ";
if($nextpg$pagenav.="<a href='$url=$nextpg'><img src="".WWW.BACK."images/next.jpg" width="81" height="16" border="0"></a>"else $pagenav.="<img src="".WWW.BACK."images/next.gif" width="81" height="16">";
if($page!=$lastpg$pagenav.=" <a href='$url=$lastpg'><img src="".WWW.BACK."images/last.jpg" width="64" height="16" border="0"></a>"else $pagenav.=" <img src="".WWW.BACK."images/last.gif" width="64" height="16" border="0">";
$pagenav.=" Goto<select name='topage' style='font-size:9px' size='1' onchange='window.location="$url="+this.value'> ";
for($i=1;$i<=$lastpg;$i++){
if($i==$page$pagenav.="<option value='$i' selected>$i</option> ";
else $pagenav.="<option value='$i'>$i</option> ";
}
$pagenav.="</select> 共:$lastpg 页$totle 条记录";
}
}
?>
 调用
$temp = mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM product where delfag=0 $where LIMIT 1");
$result = mysql_query("SELECT FOUND_ROWS()");
$total = mysql_fetch_row($result);
pageft(
$total,25,$pageSelf);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值