我正在尝试使用 PHP 和 MySQL 创建一个嵌套评论系统。但我被困住了
- 我的数据库结构是id、正文、时间、回复和深度。
- 常规评论的
回复
字段将为“0”。如果它正在回复另一个,它将对应于它正在回复的评论的id
。 深度
表示距最高父级的深度
如果这是我表格的内容...
+------+-------------+--------+---------+---------+
| id | body | time | reply | depth |
+------+-------------+--------+---------+---------+
| 1 | Some msg1 | 1 | 0 | 0 |
| 2 | Some msg2 | 2 | 0 | 0 |
| 3 | aReply1 | 3 | 1 | 1 |
| 4 | aReply2 | 4 | 1 | 1 |
| 5 | aReply21 | 5 | 3 | 2 |
+------+-------------+--------+---------+---------+
它会看起来像这样......
- (1) Some msg1
-- (3) aReply1
--- (5) aReply21
-- (4) aReply2
- (2) Some msg2
我希望使用这种方法是可能的,它有点超出了我的逻辑。
最佳答案
如果您无法更改表结构,您可以只获取所有行(按时间从表顺序中选择 *),然后使用 PHP 生成树。
对于树存储,我建议使用嵌套集算法。
关于php - 根据上下文对 MySQL 结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2210743/