PHP中的树形数据结构
在我的应用程序中,用户启动一个新树或在子用户下添加,并继续以这种方式在分支中添加用户->
有10层树型结构。>
根节点包含1
个用户,每个节点(用户)可以有max 5
个子用户方式树将类似于级别 0 = 1 用户
,级别 1 = 5 用户
,级别 2 = 25 位用户
,级别 3 = 125 个用户
等等。
我创建了一个 MySQL 表,其中包含以下列:
User_id
、 level
、 super_id
、 child1_id
、 child2_id< /code>,
child3_id
, child4_id
, child5_id
我的问题是如何让所有子用户(child任何级别的特定用户的孩子也
)我是否需要在表中添加更多列?
in my application user starts a new tree or get added under a child-user and keep on adding users in branches in such a way->
there are 10 level of tree type structure.>
root node contain 1
user and each node(user) can have max 5
child-user in this way tree will be like level 0 = 1 user
,level 1 = 5 user
,level 2 = 25 user
,level 3 = 125 user
and so on.
I created one MySQL table having columns like-
User_id
, level
, super_id
, child1_id
, child2_id
, child3_id
, child4_id
, child5_id
my question is How can I get all child-user(child to child also
) of a particular user at any level do I need to add some more columns in my table??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可能会发现阅读我上周 PHP TEK-X 会议的演示很有趣:
使用 SQL 和 PHP 构建分层数据模型
本演讲介绍了 SQL 中的替代解决方案,包括:
另请参阅我对此 Stack Overflow 问题的回答:什么是最有效/优雅的方式将平面表解析为树?
You might find it interesting to read my presentation from last week's PHP TEK-X conference:
Models for Hierarchical Data with SQL and PHP
This talk describes alternative solutions in SQL, including:
Also see my answer to this Stack Overflow question: What is the most efficient/elegant way to parse a flat table into a tree?
您应该查看嵌套集。
在 PHP 中,您可以使用 Doctrine 嵌套集< /a>,这将使您的生活变得更加轻松。
You should have a look at Nested Sets.
In PHP, you could use Doctrine Nested Sets, that will make your life much easier.
这是我用来构建二叉树数据结构及其相应操作的完整代码:
This is the complete code i used to build a binary tree datastructure and its corresponding operations: