Q
树形层次结构问题
1
A
回答
0
我做了类似于你在找什么东西。我认为这应该适合你,只需稍作调整。不要抱怨Wordpressiness - 无论如何,你应该能够弄清楚它在做什么。
function find_parents($category_id) {
global $wpdb;
$category = $category_id;
while (1) {
$parent_category = $wpdb->get_row(
$wpdb->prepare("SELECT * FROM hierarchy WHERE id=%d", $category)
);
$data[] = array(id => $parent_category->id, name => $parent_category->category_name);
if ($parent_category->parent_id == 0) {
break;
}
$category = $parent_category->parent_id;
}
return $data;
}
这将以相反的顺序返回一个数组或项目,以及每个后续的父项。
功能再往相反的方向,从顶部类别,将检索所有类别,是:
function find_children($parent_id, $data) {
foreach ($data as $child) {
if ($child->parent_id == $parent_id) {
$children[] = array(
'attr' => array(
'id' => 'cat_' . $child->id,
'dbid' => $child->id,
'link_to' => $child->link_to,
'rel' => ($child->link_to ? 'link' : 'default')
),
'data' => $child->category_name,
'children' => find_children($child->id, $data)
);
}
}
return $children;
}
他们俩之间,你可能能够凑齐的东西在一起,我希望:/
1
使用自引用关系(或邻接列表模型)来表示分层数据从来就不是一个好主意。最好的方法是使用Interval Trees或者Nested Sets。迄今为止关于此主题的最佳参考资料是MySQL Developer Zone网站上的最佳参考资料,可以找到here。我已经使用这篇文章(和其他资源)使用Lambda表达式在C#中编写我自己的实现。但是我引用的文章在解释概念和显示一些随时可用的SQL代码方面做得很好。
相关问题
- 1. 显示树形层次结构
- 2. Java树的层次结构
- 3. Backbone.js和层次结构/树
- 4. Oracle APEX树层次结构限制/问题
- 5. JavaScript构建树层次结构
- 6. 在javascript中构建层次结构树
- 7. 使用Linq构建树层次结构
- 8. Java或php树形结构问题
- 9. ImagePicker在视图层次结构问题
- 10. 的Git分支层次结构问题
- 11. React事件层次结构问题
- 12. Zend_Navigation层次结构问题与主页
- 13. Java异常层次结构问题
- 14. Ultragrid/Winforms网格层次结构问题
- 15. Spring Security角色层次结构问题
- 16. 调用层次结构问题
- 17. 如何排列在树形结构的层次结构设置SQL结果
- 18. 负荷层次结构树状
- 19. Oracle中的树层次结构
- 20. NHibernate的亲子树层次结构
- 21. MySQL树层次结构查询?
- 22. 3DS模型加载 - 树/层次结构
- 23. XSLT扁平列表树层次结构
- 24. CTE递归获取树层次结构
- 25. Python QtreeWidget:返回树层次结构
- 26. Python OpenCV轮廓树的层次结构
- 27. 使用knockoutjs显示层次结构(树)
- 28. 在SQL Server层次结构中展平树形路径ID
- 29. 如何获得Telerik树形视图的层次结构级别
- 30. 层次结构
你可以举一个你的数据结构的例子吗? – 2011-02-12 06:56:29
从下往上建树不一定需要向上遍历。请详细解释你想要达到的目标。 – 2011-02-12 07:01:14