可能重复:
What is the most efficient/elegant way to parse a flat table into a tree?
php / Mysql best tree structure
我的数据库中有一个表充满了组,每个组行都有一个父ID,直到最后一个父ID为0,形成一个金字塔。例如:
id:1 姓名:员工 父母:0
id:2 名称:通讯团队 父母:1
id:3 名称:网络部门 父母:2
现在可以继续下去,所以我想要做的是使用一个sql语句给出web部门ID,它将拉出所有父组,直到父级为0.
在sql语句中是否可以?我怎么能这样做?
答案 0 :(得分:2)
我认为你根本不需要循环......就像在T-SQL中这样的东西:
SELECT id, name, parent
FROM tablename
WHERE parent <= (select parent from tablename where name = 'staff')
ORDER BY parent;
这应该返回父id小于或等于staff的父id的所有行。如果您希望以其他方式进行排序,请使用ORDER BY父ASC。
答案 1 :(得分:0)
从sql中提取您可能需要的所有内容,然后在PHP中使用递归函数来遍历结果。寻找PHP递归树。