昨晚失眠,仿制DISCUZ的页面导航!
时间:2006-06-24
来源:互联网
<style>
#page_main{background-color: #F8F8F8;font:12px Tahoma, Verdana; color: #000000;text-align:center;height: 20px;border: 1px solid #000066;}
#page_main a{text-decoration: none; color: #003366}
#page_main_head_1{float:left;width:70px;font: 11px Tahoma, Verdana; color: #FFFFFF; font-weight: bold; background-color: #4277AD;line-height: 20px;height: 20px;}
#page_main_head_2{float:left;width:90px;font: 11px Tahoma, Verdana; color: #FFFFFF; font-weight: bold; background-color: #4277AD;line-height: 20px;height: 20px;}
#page_main_link{float:left;width:30px;font: 11px Tahoma, Verdana; font-weight: bold;line-height: 20px;height: 20px;}
#page_main_line{float:left;width:1px;height:20px;background-color:#000066}
</style>
<?
function Get_Page_bar($Page=1,$Rcnt=1,$beforeLink,$Psze=20,$MaxPage=0){
/*
看到discuz的导航菜单,感觉不错。所以写了个!
Get_Page_bar(页码,总记录数,导航链接,每页记录数,最大显示页号) 后面二项是可选的
导航链接写成的格式如?page={p} 或者forum-4-{p}.html
例如http://www.phpx.com/happy/forum-4-1.html的写为forum-4-{p}.html
最大显示页号,即分页最大的页号,如如上面的地址他设定为1000
最好上面的那些CSS代码找CSS文件保存
漠北怪叟做的分页导航的过程.其实很简单只是把基本功能 装在类里面方便调用而已.
我的QQ 4620498 欢迎大家改进
做程序员.NND就是累啊,都不知明天在何方啊.
2006.6.22
调用方式
//
echo Get_Page_bar($page,54226,"?page={p}",20,1000)
*/
/*此行以下可以保存为为公用文件mail.inc.php,前提是设置好以下七个设置*/
$Pcnt=$Rcnt%$Psze!=0?ceil($Rcnt/$Psze):$Rcnt/$Psze; //总页数
if ($Pcnt<1)return false;
$tPage="
<div id=\"page_main\">
<div id=\"page_main_head_1\">$Rcnt</div>
<div id=\"page_main_line\"></div>
<div id=\"page_main_head_2\">$Page/$Pcnt</div>
<div id=\"page_main_line\"></div>
<!--开始列表-->
";
//需要确定是否显示最前页与上一页链接
if ($Page>1){
$tPage.="
<div id=\"page_main_link\"><a href=".str_replace("{p}",1,$beforeLink)."><b>|</b><</a> </div>
<div id=\"page_main_line\"></div>
<div id=\"page_main_link\"><a href=".str_replace("{p}",($Page-1),$beforeLink)."><</a> </div>
<div id=\"page_main_line\"></div>
";
}
//确定所在的10的倍数
$nCnt=ceil($Page/10)-1;
for ($iCnt=$nCnt*10+1;$iCnt<=($nCnt+1)*10;$iCnt++){
if ($iCnt>=$Pcnt){break;}
if ($iCnt==$Page){
$tPage.="
<div id=\"page_main_link\" style=\"background-color: #4277AD;color:#ffffff\">$iCnt </div>
<div id=\"page_main_line\"></div>
";
}else{
$tPage.="
<div id=\"page_main_link\"><a href=".str_replace("{p}",$iCnt,$beforeLink).">$iCnt</a> </div>
<div id=\"page_main_line\"></div>
";
}
}
//需要确定是否显示最后面
$MaxPageno=($Pcnt>=$MaxPage && $MaxPage!==0)?$MaxPage:$Pcnt; //最终允许的尾页
if ($Page+1<=$Pcnt){
$tPage.="
<div id=\"page_main_link\"><a href=".str_replace("{p}",($Page+1)<=$MaxPageno?$Page+1:$MaxPageno,$beforeLink).">></a> </div>
<div id=\"page_main_line\"></div>
<div id=\"page_main_link\"><a href=".str_replace("{p}",$MaxPageno,$beforeLink).">> <b>|</b></a></div>
<div id=\"page_main_line\"></div>
";
}
$tPage.="
<!--结束列表-->
</div>
";
return $tPage;
}
?>
------demo.php------
<link href="page.css" rel="stylesheet" type="text/css" />
<?php
require("page.inc.php");
$page=isset($_GET["page"])?(int)$_GET["page"]:1;
?>
<table width="621" border="0">
<tr>
<td><?php echo Get_Page_bar($page,54226,"?page={p}",20,1000)?></td>
</tr>
</table>
[[i] 本帖最后由 漠北怪叟 于 2006-6-27 15:04 编辑 [/i]]
作者: 漠北怪叟 发布时间: 2006-06-24
作者: Phzzy 发布时间: 2006-06-24
作者: Phzzy 发布时间: 2006-06-24
作者: gabin 发布时间: 2006-06-25
引用:
原帖由 gabin 于 2006-6-24 22:46 发表可怜的PHP和HTML混合习惯
对于一个想让代码更简单的小过程,你觉得那样值吗?
作者: xiaojia 发布时间: 2006-06-25
大侠的名字,支持一下。
作者: 漠北怪叟 发布时间: 2006-06-27
引用:
原帖由 漠北怪叟 于 2006-6-25 23:26 发表楼主啊。我都想代码分离,可是你有没想过,这个模块改为代码分离,会增加多少代码?
对于一个想让代码更简单的小过程,你觉得那样值吗?
p.s. 这篇文章我DZ上看到过
作者: Per 发布时间: 2006-06-30
作者: Zero 发布时间: 2006-06-30
作者: Mixthon 发布时间: 2006-07-15
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28