论坛跟贴实现的原理?

tjyihui 2003-10-22 11:55:14
请问论坛中跟贴是什么实现的?
比如在数据库中为每个帖子建立如下字段:
编号,发帖人,内容,发帖时间等等

那么如果有人回复这个帖子的话,应该再在数据库中建立哪些字段来实现呢?
并如何将他们关联起来顺序显示出来?
是不是需要建立2个数据库表,发贴数据库和回帖数据库
2个数据库由发贴编号来进行关联呢?
...全文
98 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
shanhe 2003-10-23
  • 打赏
  • 举报
回复
可以这样考虑:
1、所有的贴字/无论新贴还是回贴都具有唯一的ID
2、每一贴都具有两个属性(字段):它回应的贴字ID replyID,表示他的父亲TID, 自身具有的ID TID
如果ReplyID=0表示这个贴子是首贴(没有父亲id).

如果为了提高效率,还可以进行改进。
tjyihui 2003-10-23
  • 打赏
  • 举报
回复
不用二叉树呢?
用链表可以吗
A-B-C-D
每个帖子都有FatherID和ChildrenID
头一帖的FatherID为空,尾帖的ChildrenID为空
然后顺序显示

这样可行吗?
gboy2003 2003-10-23
  • 打赏
  • 举报
回复
up
eagle_gui 2003-10-23
  • 打赏
  • 举报
回复
当然,你在进行回贴与删除回贴的时候,要对FartherID 的记录回贴数childrenNum更新
eagle_gui 2003-10-23
  • 打赏
  • 举报
回复
你学过二叉树吗?

A F
/ \ / \
B C G H
/ \
D E

A与F是主贴,因为上面没有了父亲,它们是最大的.

B,C 是A的儿子(回贴)

其它的同理,

在数据库里表现为字段:FartherID childrenNum
在提取数据的时候,若childrenNum不为0就进行回贴遍历操作.


21,887

社区成员

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

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