存储和生成类别层次结构的最有效方法是什么?

时间:2012-07-16 23:04:33

标签: php mysql hierarchy hierarchical-data categories

我正在用PHP创建一个基本的购物车,并且想知道,以无限子类别的层次结构格式存储和生成类别列表的最佳方法是什么?

目前我加载主要类别然后foreach我从数据库中获取子类别,依此类推,在大型网站上创建超过100个查询。

那么更好的做事方式是什么?

继承我当前的MySQL表结构:

cat_id  
cat_name
cat_desc
cat_parent_id
status
priority

我的目标是 1 查询。

2 个答案:

答案 0 :(得分:0)

Wordpress做得非常好:

请参阅:http://codex.wordpress.org/File:WP3.0-ERD.pnghttp://codex.wordpress.org/WordPress_Taxonomy

如果你走这条路 这个codex page有一些问题查询逻辑,用于抓取您可能觉得有用的类别(related stack post

关键是具有类别的表具有一个条目,因此您可以让它知道该类别是否具有父类别(允许您将表连接到自身)。

答案 1 :(得分:0)

查看此帖子:Category Hierarchy (PHP/MySQL)

它使用一个查询从数据库中获取所有类别,然后操作数组以创建子类别。我修改了在Codeigniter中使用的答案,效果很好。如果您想使用Codeigniter,可以在此处发布修改后的代码。