我有一张表格如下:
我想要做的是输出主要类别(具有null category_id的类别),并在每个类别下列出具有该category_id作为父类别的类别。这样,我创建了一个小的层次结构输出。
我可以通过执行查询来捕获具有null父级的所有类别来完成此操作。然后执行另一个查询,查找以其为父类的类别。但是,我相信只有一个查询就可以在PHP / MySQL中实现这一目的。
任何帮助,即使在概念上,也会非常感激!
答案 0 :(得分:1)
您可以从数据库中一次获取所有类别,并使用递归函数构建层次结构,请参阅:Convert a series of parent-child relationships into a hierarchical tree?
答案 1 :(得分:1)
SELECT COALESCE( c2.category_order, c1.category_order ) as top_order,
c1.*
FROM categories c1
LEFT JOIN categories c2
ON c1.parent_category_id = c2.category_id
ORDER BY top_order, c1.category_order