php开源嘛
首页 | English | MySql数据库 | Php编程 | 建站杂烩 | 系统服务器 | 资源共享 | 专题 | 才桀网 | 支持论坛
  当前位置:主页>资源共享>站长学院>文章内容
实现网站的无限分类:PHP进阶教程
来源:网络 作者:本站整理 发布时间:2007-07-31  

前面已经介绍过了分类的创建实现方法,在分类表里记载了 rout_id 和 rout_char 这两个存储分类路径的信息,在不做任何处理的情况下,程序只能够顺序下到最底层的分类而无法倒退(当然可利用浏览器的 back 键倒退,但这对程序来说是不完整的),因此必须将 rout_id 和 rout_char 的信息分解出来完成实在的路径指示.

具体的做法,假如数据库记载了这么一条分类信息:

id:4
uid:2
type:开发工具
rout_id:0:1:2:4
rout_char:系统:linux:开发工具

当程序走到分类'开发工具'上时,除了要求显示路径信息外还要求能够去到路径上的任一分类中,该怎么做能?这里就需要用到 explode() 函数了.因为 rout_id 和 rout_char 是对应关系的,所以可将它们分解:

$path=explode(":",$rout_id);
$path_gb=explode(":",$rout_char);

这时所有分类信息都被分解了,现在要做的就是以链接的方式还原路径信息:

for ($i=0;;$i++) {
$a=$i+1;
echo "<a
href=$php_self?func=showtype&uid=",$path[$a],">",$path_gb[$i],"</a>:";
if (empty($path_gb[$i])) {
break;
}
}

上面这段代码就实现了加链接还原路径的功能,因为实现的是无限分类,因此是没有上限的,所以在 for($i=0;;$i++) 里没有范围限制,而设置循环退出的条件是 $path_gb[$i] 中的值为空,将这段代码插入类别显示版面的程序块内就行了:

<?
.....
.....
//显示分类************************************************
if ($func=='showtype'):
echo "<table>";
//判断分类的状态
if ($uid!=0) {
$result=mysql_query("select * from type where id=$uid");
$type=mysql_result($result,0,"type");
//******** 新加入的代码 ***************
$rout_id=mysql_result($result,0,"rout_id");
$rout_char=mysql_result($result,0,"rout_char");
$path=explode(":",$rout_id);
$path_gb=explode(":",$rout_char);
echo "<tr><td>";
for ($i=0;;$i++) {
$a=$i+1;
echo "<a
href=$php_self?func=showtype&uid=",$path[$a],">",$path_gb[$i],"</a>:";
if (empty($path_gb[$i])) {
break;
}
}
echo "</td></tr>";
//******** end ***********************
} else {
$type='父分类';
}
echo "<tr><td><a href='$php_self?func=createtype&uid=$uid'>创建分类</a></td></tr>";
echo "<tr><td>$type</td></tr>";
$result=mysql_query("select * from type where uid=$uid");
$num=mysql_numrows($result);
if (!empty($num)) {
for ($i=0;$i<$num;$i++) {
$id=mysql_result($result,$i,"id");
$type=mysql_result($result,$i,"type");
echo "<tr><td>";
echo "<a href='$php_self?func=showtype&uid=$id'>$type</a>";
echo "</td></tr>";
}
}
echo "</table>";
endif; /* end showtype */
.....
.....
?>

完成这个功能块后,就可继续分类信息的显示实现了...


(阅读次数:
共3页: 上一页 [1] [2] 3 下一页
上一篇:PHP实例:从数组里筛选出重复的数据   下一篇:网页制作技术PHP的拼写检查函数库
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·win中PHP5和Apache的安装与配置
·用PHP实现Ftp用户的在线管理
·教你如何优化MySQL数据库性能
·如何使用PHP创建RSS阅读器
·怎样建站,新手建站经验谈……
·用PHP制作登录页面程序
·php中的几个require()函数介绍
·PHP编程:实现QQ在线状态{教程}
·PHP开发入门教程之面向对象{学习
·JS实现禁止查看网页源代码方法总
·利用PHP和CSS改变网页文字大小
·简单的PHP&MYSQL留言板教程
  相关文章
·PHP开发入门教程之面向对象{学习
·用PHP制作登录页面程序
·教您如何安全的应用 MySQL
·PHP程序直接调用文本文件内容实
·怎么在IIS6中最佳配置PHP方法
·win中PHP5和Apache的安装与配置
·PHP5在Apache下的两种模式的安装
·教你如何优化MySQL数据库性能
·php中的几个require()函数介绍
·怎样建站,新手建站经验谈……
·简单的PHP&MYSQL留言板教程
·如何使用PHP创建RSS阅读器

关于我们 | 本站声明 | 友情连接 | 诚邀加盟 | 网站地图
版权Power by DedeCms   技术支持QQ =>> 罗江游鱼   Jacking  后台登陆
Copyright @ 2007 公司地址:柳州市东环路268号 邮编:545006 电话:15920389818 桂ICP备07006725号