WEB开发网
开发学院WEB开发PHP PHP无限级分类方法及代码 阅读

PHP无限级分类方法及代码

 2008-11-19 15:38:44 来源:WEB开发网   
核心提示: 显示树现在我们已经把树放入数据库中了,得写一个显示函数了,PHP无限级分类方法及代码(2),这个函数将从根节点开始——没有父节点的节点——同时要显示这个节点所有的子节点,对于这些子节点,在我们的例子中,这个父节点是“Red&rdq

显示树

现在我们已经把树放入数据库中了,得写一个显示函数了。这个函数将从根节点开始——没有父节点的节点——同时要显示这个节点所有的子节点。对于这些子节点,函数也要获取并显示这个子节点的子节点。然后,对于他们的子节点,函数还要再显示所有的子节点,然后依次类推。

也许你已经注意到了,这种函数的描述,有一种普遍的模式。我们可以简单地只写一个函数,用来获得特定节点的子节点。这个函数然后要对每个子节点调用自身来再次显示他们的子节点。这就是“递归”机制,因此称这种方法叫“递归方法”。

<a target=PHP无限级分类方法及代码" onload="return imgzoom(this,550);" onclick="javascript:window.open(this.src);" style="cursor:pointer;"/>

要实现整个树,我们只要调用函数时用一个空字符串作为 $parent 和 $level = 0: display_children('',0); 函数返回了我们的食品店的树状图如下:

Food

Fruit

Red

Cherry

Yellow

Banana

Meat

Beef

Pork

注意如果你只想看一个子树,你可以告诉函数从另一个节点开始。例如,要显示“Fruit”子树,你只要display_children('Fruit',0);

The Path to a Node节点的路径

利用差不多的函数,我们也可以查询某个节点的路径如果你只知道这个节点的名字或者ID。例如,“Cherry”的路径是“Food”> “Fruit”>“Red”。要获得这个路径,我们的函数要获得这个路径,这个函数必须从最深的层次开始:“Cheery”。但后查找这个节点的父 节点,并添加到路径中。在我们的例子中,这个父节点是“Red”。如果我们知道“Red”是“Cherry”的父节点。

上一页  1 2 3 4 5 6 7  下一页

Tags:PHP 无限 分类

编辑录入:coldstar [复制链接] [打 印]
赞助商链接