如何从mysql / php获取树视图中的记录

时间:2011-06-02 14:58:02

标签: php mysql treeview mysqli

我必须从下表

的记录中创建树视图
id user_id friend_id property_id
1    123       321          1
2    123       456          1
3    456       909          1
4    909       222          1

我有user_id,即123和property_id,即1我需要知道如何与我共享此属性的朋友建立一个树,然后与我的朋友分享此ID的用户建立一个树。

1 个答案:

答案 0 :(得分:1)

好的,因为有几个步骤我会从高层开始。如果您需要任何帮助,请再次询问!

首先,您需要“根”节点,即那些在朋友列中不显示为子节点的用户。

然后,对于这些用户中的每一个,开始轮询他们所有的孩子。为此,定义一个函数,该函数获取用户的所有子节点,并为其找到的子节点的子节点递归调用自身。

这很抽象,因为问题是你想用这个结构做什么。这取决于最后一部分,即表示层。这就是我最不了解的;可能有一个框架可以帮助您在PHP中可视化树,但我不知道。通常会有某种具有布局属性和子对象的对象结构;从最后一步开始在递归函数中实例化这些属性。

作为一个副节点,不清楚您获得的数据结构是否实际上是一棵树。如果您是A,有朋友B和C,而C也是B的朋友,B将显示为您的朋友(在树的第2级)和C的朋友(在第3级)。你必须检查你在那个地方所期望的行为,并且可能不得不在第二次遇到它时忽略C.