我正在php / mysql中构建一个任务系统,想象一下我有以下结构:
id | parentid
1 0
2 1
3 1
4 1
5 4
parentid为0表示没有子项。
所以基本上,我需要查询parentid为1的所有项目。
在树视图示例中,我得到:
1
--2
--3
--4
但我还需要抓住所有其他子项目:
1
--2
--3
--4
---5
我希望这能清除我所需要的东西,这只会分为3个级别,但我可能会有很多级别。
我应该如何在MYSQL中解决这个问题?获取具有特定parentid和所有其他子项的所有项目的完整列表?
在不知道限制的情况下,这是否可能?也许通过服务器端接近这个? (但又一次,何时停止?)
答案 0 :(得分:2)
这个问题已经得到解答。最好的方法是使用MySQL不支持的递归查询。
以下是解决方法:Using MySQL query to traverse rows to make a recursive tree
您可以使用PHP或您用于服务器端的任何其他语言,但需要大量请求才能获得所需的所有数据。