当前位置:首页 - PHP代码 - 正文
刚写的分页导航,请指教
发布时间: 2006-8-07 10:01 作者: 七月十五 信息来源:
原文:/bbs/viewthread.php?tid=7948&extra=page%3D1
刚写的分页导航,请指教,还有什么不妥的地方
加一句
PHP:
<?php
//定义相关数据
$topictotal=261; //总主题数
$pagepre=3; //前导页
$pageline=7; //可显示页数
$topicpage=15; //每页主题数
if($topictotal<=0)exit("获取主题出错或没有任何主题!"); //无主题时
//求得相关的数据
$pagetotal=ceil($topictotal/$topicpage); //总页数
$topiclastpage=$topictotal%$topicpage; //最后页主题数
//当前页不在范围
if($p<1 || $p>$pagetotal)$p=1; //重置当前页为1
if($pagetotal<=$pageline) //总页不足可显示页数
{
$sp=1;
$ep=$pagetotal;
}
else //总页足量
{
if($p<=$pagepre) //在最前几页
{
$sp=1;
$ep=$pageline;
}
elseif($p>$pagetotal+$pagepre-$pageline) //在最后几页
{
$sp=$pagetotal-$pageline+1;
$ep=$pagetotal;
}
else //正常情况
{
$sp=$p-$pagepre+1;
$ep=$p-$pagepre+$pageline;
}
}
echo "当前页/总页:".$p."/".$pagetotal;
printf("<form action='%s' method='post' >",$_SERVER['PHP_SELF']);
for($i=$sp;$i<=$ep;$i++) //列出可显示页
{
if($p==$i) //当前页加粗
{
printf(" <b><a href='%s?p=%d'>%d</a></b> ",$_SERVER['PHP_SELF'],$i,$i);
}
else
{
printf(" <a href='%s?p=%d'>%d</a> ",$_SERVER['PHP_SELF'],$i,$i);
}
}
printf("<input type=text size=2 name=p></form>");
$st=($p-1)*$topicpage+1;
$et=$p*$topicpage;
if($p==$pagetotal && $topiclastpage)$et=$st+$topiclastpage-1;
printf("<br><ul><b>主题列表</b><br><br>");
for($j=$st;$j<=$et;$j++)printf("<li><a href=javascript:alert('第%d主题')>第 %d 主题</a>",$j,$j);
printf("</ul>");
?>
PHP:
if($topictotal<=0)exit("获取主题出错或没有任何主题!"); //无主题时
查看评论>> 发表评论
最热评论
- · 连载(六) Java桥 (5日)
- · Google Trends:哪种程序语言最受关注 (30日)
- · 连载(五) Session Clustering (15日)
- · 连载(四)Web服务器集群管理 (11日)
- · 连载(三) PHP监控系统 (31日)
- · 连载(二) 性能优化 (21日)
相关文章
- · 一段代码跑遍万家网站 SNS开放创造技术... (24日)
- · 西安培训中心PCTI-3招生简章 (23日)
- · Discuz!NT 2.5之创新模板处理方案 (23日)
- · 北京培训中心PCTI-16期周末班招生 (22日)
- · 北京开启“免费”就业直通车(LAMP就业七期) (22日)
- · 探秘Discuz!NT 2.5之社区辩论贴功能 (22日)





