做一个论坛,浏览一个帖子,怎么能把这个帖子的所有回复都列出来呢?

自由骑士 2004-01-18 02:23:23
难道要数据库要有一个新字段father,说明这个帖子的上面是哪个帖子?
那么如果一个帖子有100个回复
那不就要这样了:

话题,id=12451
1.搜索father=12451,得出id=12511
2.搜索father=12511,得出id=12614
3.搜索father=12614,得出id=12748
...
100.搜索father=17212,得出id=17314
101.搜索father=17314,没有结果。

结束搜索。

那这样的话,数据库的负担不是很重吗?
我想不到什么思路啊,请大家指点迷津
...全文
45 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyonet 2004-01-20
  • 打赏
  • 举报
回复
xuzuning(唠叨) ( )
支持
surfchen 2004-01-20
  • 打赏
  • 举报
回复
其实我认为不必考虑回复的回复,因为现在看帖的一般只分发帖和回帖,没必要分得这么细,回帖的回帖可以简单看成是回帖~~~呵呵~~我这个纯粹是从社会学上来分析的~~
xuzuning 2004-01-18
  • 打赏
  • 举报
回复
这个问题与数据组织和算法有关
1、回帖必须要有表示是“回帖”的字段,否则你无法判定该贴的性质
2、当采用“递归”算法时,该字段为父贴的id号
3、当采用“中值排序”算法时,该字段为主贴的id号
4、通常为减少计算量,还设有表示层次的字段
countstars 2004-01-18
  • 打赏
  • 举报
回复
两张表,一张topic一张reply,后这里包括前者ID的字段
神鹰 2004-01-18
  • 打赏
  • 举报
回复
添加一个字段,记录主题的ID,搜索的时候,只要搜索主题ID就可以搜索出所有的回复了
hongmaohouzi 2004-01-18
  • 打赏
  • 举报
回复
这是个好办法,支持楼上。
hope1983 2004-01-18
  • 打赏
  • 举报
回复
在搜索显示贴子的时候已经包括了回复的
加多一个新字段father,设为1或0,作用是如果字段father为1时就显示,为0时就不显示。
xuzuning 2004-01-18
  • 打赏
  • 举报
回复
只有一级回复时是这样的,多级呢?回复的回复呢?
自由骑士 2004-01-18
  • 打赏
  • 举报
回复
想清楚了,father字段为NULL的时候为 “话题”,father字段非空则为回贴
把话题的id的值赋给这个话题所有回复的father字段,要列出的话只要搜索所有father字段=话题di,并且按时间排续就可以了。
是不是这样?

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧