【发布时间】:2009-12-05 21:47:11
【问题描述】:
我有这些数据:
id | parent_id | lft | rgt | name
=====================================
1 | 0 | 1 | 8 | abc
2 | 3 | 5 | 6 | jkl
3 | 1 | 2 | 3 | def
4 | 0 | 9 | 10 | mnno
5 | 1 | 4 | 7 | ghi
我需要按以下顺序(id)遍历这个层次结构:1 > 3 > 5 > 2 > 4
我怎样才能做到这一点?
假设我要查找node_x的下一个节点。
if (node_x_rgt - node_x_lft == 1) {
next_node_lft = node_x_rgt + 1;
} else {
next_node_lft = node_x_lft + 1;
}
此公式仅在某些情况下有效(节点 ID 为 1、3、5、2)。节点2的下一个节点应该是4。
【问题讨论】:
-
嗨,Pondidum。我已经更新了问题。