迭代项目和子项 - 知道何时停止

时间:2013-08-15 13:37:21

标签: php mysql

我正在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和所有其他子项的所有项目的完整列表?

在不知道限制的情况下,这是否可能?也许通过服务器端接近这个? (但又一次,何时停止?)

1 个答案:

答案 0 :(得分:2)

这个问题已经得到解答。最好的方法是使用MySQL不支持的递归查询。

以下是解决方法:Using MySQL query to traverse rows to make a recursive tree

您可以使用PHP或您用于服务器端的任何其他语言,但需要大量请求才能获得所需的所有数据。