PHP教程之如何实现网站的无限分类(3)_PHP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:解析PHP网站开发中常见的问题
【1】页面之间无法传递变量 get,post,session在最新的php版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用_GET['foo'],_POST['foo'],_SESSION['foo']来得到

4.路径跟踪

前面已经介绍过了分类的创建实现方法,在分类表里记载了 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] 中的值为空,将这段代码插入类别显示版面的程序块内就行了:

分享:浅析关于cookie和session
1. PHP的COOKIE cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。 PHP在http协议的头信息里发送cookie, 因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,

来源:模板无忧//所属分类:PHP教程/更新时间:2009-09-05
相关PHP教程