PHP MySQL从子级构建树

PHP MySQL从子级构建树,php,mysql,tree,Php,Mysql,Tree,我在MySQL表中存储以下结构的项关系: +---------+------------+ | item_id | parent_id | +---------+------------+ 项目的存储方式如下: +-----------+------------+ | item_id | name | +-----------+------------+ 我需要从给定的儿童模型中建立一棵树: - A -- B --- D ---- E ----- F ------ X --

我在MySQL表中存储以下结构的项关系:

+---------+------------+
| item_id | parent_id  |
+---------+------------+
项目的存储方式如下:

+-----------+------------+
|  item_id  |    name    |
+-----------+------------+
我需要从给定的儿童模型中建立一棵树:

- A
-- B
--- D
---- E
----- F
------ X
---- G
----- H
------ I
------- X
- J
-- K
--- L
---- X
----- M
------ X
我现在只展示了X是m,X是I,X是F的关系。我不知道如何从X向上显示整棵树。每个项目都可以有一个以上的父项,因此总是有几种方法可以到达X

我正在使用MySQL和cca 50000个项目,关系表中大约有170 000个条目。我想到的唯一方法是找出每个项目及其子项的所有可能方式,并将它们存储在缓存中


我将感谢任何帮助

每个项目可以有多个父项?希望你正在采取措施来防止循环,例如a->b->c->a你需要用破折号来渲染那棵树吗?