谁来指点一下php通用分页函数该怎么写

比如前台的分页有如下参数:line.php?s1=a&s2=b&s3=c&keyword=kk&price=100&line_type=1&day1=1&day2=8&p... 比如前台的分页有如下参数:
line.php?s1=a&s2=b&s3=c&keyword=kk&price=100&line_type=1&day1=1&day2=8&page=1
参数可以任意个。
其它的前后台news.php、list.php等也要用到这个函数。
展开
 我来答
補世庆
2010-05-26 · TA获得超过791个赞
知道答主
回答量:87
采纳率:0%
帮助的人:118万
展开全部
function page($sql,$pagesize){
$nowpage=$_GET['nowpage'];//获取当前也
$result=mysql_query($sql);//执行sql查询语句
$total = mysql_num_rows($result);//总记录条数
$totalpage = ceil($total/$pagesize);//总页数
$nowpage=$nowpage<1?1:$nowpage;//保证页数始终大于或等于1
if(!$total){//如果没有记录则返回0
return 0;
exit;
}
$nowpage=$nowpage>=$totalpage?$totalpage:$nowpage;//判断当前也是否大于总页数 如果大于总页数则当前页为总页数
$nowrow=($nowpage-1)*$pagesize;//当前记录的位置
$result = mysql_query($sql." limit $nowrow,$pagesize");
$url=$_SERVER['PHP_SELF'];//当页的url地址
if($nowpage==1)//如果页数只有一页 则首页和上一页无链接
$st= "<div align='center'>首页|上一页";
else
$st= "<a href=$url?nowpage=1>首页</a> | <a href=$url?nowpage=".($nowpage-1).">上一页</a>";
if($nowpage==$totalpage) //如果页数是最后一页 则末页和下一页无链接
$st.="| 下一页 | 末页 ";
else
$st.= "| <a href=$url?nowpage=".($nowpage+1).">下一页</a> | <a href=$url?nowpage=$totalpage>末页</a>";
$st.= " 到第 <select name='nowpage' size='1' onchange='window.location=\"$url?nowpage=\"+this.value'>\n";//指定跳转至哪一页
$st.="<option value='$nowpage' select>$nowpage</option>\n";
for ($i = 1; $i <= $totalpage; $i++) {
if ($i == $nowpage){}
else
$st.="<option value='$i'>$i</option>\n";
}
$st.="</select> 页</br>";
$st.="页次:".$nowpage." /". $totalpage."页 共".$total."条信息" ;

return array($result,$st);
}
89454944
2010-05-26 · 超过54用户采纳过TA的回答
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:177万
展开全部
<?php
/*
totalrecords:记录总数
pagesize:分页尺寸
page:当前页
netaddress:网址
gp:其他参数
*/
function showpage($totalrecords,$pagesize,$page,$netaddress,$gp){
if ($totalrecords % $pagesize == 0){
$sumpage = $totalrecords / $pagesize;
}
else{
$sumpage = (int)($totalrecords / $pagesize)+1;
}

$pagestr = "";
if ($page > 1){
$pagestr = $pagestr."<a href='".$netaddress."page=1'>首页</a>  ";
$pagestr = $pagestr."<a href='".$netaddress."page=". ($page-1) ."'>上一页</a> ";
}
else{
$pagestr = $pagestr."<a href='".$netaddress."page=1'>首页</a>  ";
$pagestr = $pagestr."<a href='".$netaddress."page=".$page."'>上一页</a> ";
}

if ($page < $sumpage){
$pagestr = $pagestr." <a href='".$netaddress."page=". ($page+1) ."'>下一页</a>";
$pagestr = $pagestr."  <a href='".$netaddress."page=".$sumpage."'>尾页</a>";
}
else{
$pagestr = $pagestr." <a href='".$netaddress."page=".$page."'>下一页</a>";
$pagestr = $pagestr."  <a href='".$netaddress."page=".$sumpage."'>尾页</a>";
}

$gopagestr = "";
$pagei=1;
while($pagei <= $sumpage){
$gopagestr = $gopagestr."<OPTION value='".$netaddress."page=".$pagei."'>第".$pagei."页</OPTION>";
$pagei++;
}
$gopagestr= "<SELECT style='font-size:10px;' onChange='javascript:window.location.href=this[this.selectedIndex].value' name='1'><OPTION selected>=选择页码=</OPTION>".$gopagestr."</SELECT>";

$pagestr = "共有<b>".$totalrecords."</b>条信息  共<b>".$sumpage."</b>页  当前第<b>".$page."</b>页  ".$pagestr."  ".$gopagestr;

return $pagestr;
}
?>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式