php mysql 基于ID的分层数据处理
我有一个示例 MySQL 表,其中包含列 ID、NAME 和 ID_PARENT。
ID | 名称 | ID_PARENT |
---|---|---|
1 | 节点 1 | 空 |
2 | 节点 2 | 1 |
3 | 节点 3 | 2 |
4 | 节点 4 | 2 |
5 | 节点 5 | 1 |
6 | 节点 6 | 5 |
7 | 节点7 | 6 |
8 | 节点 8 | 7 |
9 | 节点 9 | 6 |
10 | 节点 10 | 5 |
11 | 节点 11 | 空 |
12 | 节点 12 | 11 |
13 | 节点13 | 11 |
14 | NODE 14 | 13 |
18 | NODE 15 | 14 |
我有以下基于上述数据的树,我需要根据提供的 ID 获取节点/树/层次结构。
NODE 1
NODE 2
NODE 3
NODE 4
NODE 5
NODE 6
NODE 7
NODE 8
NODE 9
NODE 10
NODE 11
NODE 12
NODE 13
NODE 14
NODE 15
现在,如果我提供 ID=6 (NODE 6) 那么我们应该拥有 NODE 6 的所有父母(及其孩子)以及 NODE 的所有嵌套孩子6。因此,我们应该有从 1 到 10 的 节点,因为它们属于一个父节点 1。提取的树将是。
NODE 1
NODE 2
NODE 3
NODE 4
NODE 5
NODE 6
NODE 7
NODE 8
NODE 9
NODE 10
那么,我们怎样才能实现上述场景呢?
注意:我使用的是 PHP 7 和 MySQL 5.6。
I have a sample MySQL table with the columns ID, NAME AND ID_PARENT.
ID | NAME | ID_PARENT |
---|---|---|
1 | NODE 1 | NULL |
2 | NODE 2 | 1 |
3 | NODE 3 | 2 |
4 | NODE 4 | 2 |
5 | NODE 5 | 1 |
6 | NODE 6 | 5 |
7 | NODE 7 | 6 |
8 | NODE 8 | 7 |
9 | NODE 9 | 6 |
10 | NODE 10 | 5 |
11 | NODE 11 | NULL |
12 | NODE 12 | 11 |
13 | NODE 13 | 11 |
14 | NODE 14 | 13 |
18 | NODE 15 | 14 |
And I have the following tree based on the above data and I need to fetch a node/tree/hierarchy based on ID provided.
NODE 1
NODE 2
NODE 3
NODE 4
NODE 5
NODE 6
NODE 7
NODE 8
NODE 9
NODE 10
NODE 11
NODE 12
NODE 13
NODE 14
NODE 15
Now if I provide ID=6 (NODE 6) then we should have all the PARENTS (with their CHILDREN) of NODE 6 plus all the nested CHILDREN of NODE 6. So, we should have NODES from 1 to 10 as they fall under one PARENT NODE 1. The extracted tree would be.
NODE 1
NODE 2
NODE 3
NODE 4
NODE 5
NODE 6
NODE 7
NODE 8
NODE 9
NODE 10
So, how can we achieve the above-mentioned scenario?
NOTE: I am using PHP 7 and MySQL 5.6.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论