Php 嵌套注释背后的算法是什么?
我想学习Reddit背后的注释显示算法。评论与它的孩子有什么关系?它们是如何存储在数据库中的 比方说Php 嵌套注释背后的算法是什么?,php,algorithm,database-design,comments,Php,Algorithm,Database Design,Comments,我想学习Reddit背后的注释显示算法。评论与它的孩子有什么关系?它们是如何存储在数据库中的 比方说 comment1 -comment2 --comment3 -comment4 --comment5 --comment6 ---comment7 ----comment8 comment9 如何显示comment5(位于comment4之后)和comment1之后?这个排序背后的想法是什么?以及如何在数据库中关联它们?与@Rafe Ketterr所说的差不多-注释可以有父列。但是,如果您想使
comment1
-comment2
--comment3
-comment4
--comment5
--comment6
---comment7
----comment8
comment9
如何显示comment5(位于comment4之后)和comment1之后?这个排序背后的想法是什么?以及如何在数据库中关联它们?与@Rafe Ketterr所说的差不多-注释可以有父列。但是,如果您想使用更详细、更深入的算法作为实现模式,请查看。它被称为层次结构。每个注释要么没有父注释,要么只有一个父注释。通过这种方式,您可以显示每个“顶级”注释(由于它们没有父注释),然后显示每个注释的子注释等等 对于
注释
表,数据库结构可能如下所示:
标识单个注释的字段id
设置为父id或未设置(设置为parent\u id
或设置为NULL
)0
-注释创建的时间戳已创建
-实际评论内容内容
- 您需要的任何其他字段
| id | name | parent |
| 1 | comment1 | 0 |
| 2 | comment2 | 1 |
| 3 | comment3 | 2 |
| 4 | comment4 | 1 |
| 5 | comment5 | 4 |
| 6 | comment6 | 4 |
| 7 | comment7 | 6 |
| 8 | comment8 | 7 |
| 9 | comment9 | 0 |
当然,从中获取信息是(可以说)困难的部分。当然,您可以通过以下方式获取注释的子项:
SELECT*FROM table,其中parent='4'
将为您提供注释4的所有子项。但是计算孩子的数量,按等级顺序列出所有孩子会有点困难。其他答案可能会提供更多相关信息。每条注释可能都有一个“父”列,其中包含父注释id。由于您提到了Reddit,您可能需要查看以下内容: