0
我正尝试使用PHP和MySQL创建一个嵌套注释系统。但我卡住了根据它的上下文对MySQL结果进行排序
- 我的数据库结构是id,body,time,reply和depth。
- 定期评论的
reply
字段将为'0'。如果它回复到另一个,它将对应于它所回复的评论的id
。 depth
意味着它有多深,从最高父
因此,如果这是我的表的内容...
+------+-------------+--------+---------+---------+
| 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
我希望这是可能的使用这种方法,它超越了我的逻辑。
我愿意。他想按线程和日期排序。 – 2010-02-05 22:20:18
作者想要一个SQL SELECT查询,根据行的深度和父级(回复)信息将会正确排序。 你有没有考虑过使用树遍历算法?它非常适合嵌套对象。 Google针对“修改的预置树遍历”。 – 2010-02-05 22:20:46