我必须从下面的表中的记录创建一个树视图
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的用户创建树。
好的,因为有几个步骤,我将从高级别开始。如果您需要帮助,请再次询问!
首先,您需要"根"节点,即那些在好友列中未显示为子级的用户。
然后,对于这些用户中的每一个,开始轮询他们所有的孩子。为此,定义一个函数,该函数获取用户的所有子级,并为它找到的子级递归地调用自己。
这是非常抽象的,因为问题是你想用这个结构做什么。这取决于最后一部分,即表示层。这是我最不了解的;可能有一个框架可以帮助您在PHP中可视化树,但我不知道。通常会有某种具有布局属性和子对象的对象结构;从上一步开始在递归函数中实例化这些属性。
作为一个侧节点,尚不清楚您获得的数据结构是否真的是一棵树。如果你是A,有朋友B和C,而C也是B的朋友,B将以你的朋友(在树的第2层)和C的朋友(第3层)的身份出现。你必须检查你在那个地方想要的行为,例如,第二次遇到C时可能不得不忽略它。