日期:2014-05-20  浏览次数:20607 次

问一个关于论坛的设计?
正在做个一个论坛,但是遇到了问题?

发贴后把帖子保存在一个数据表中  

那么回相应的帖要怎么来设置数据库呢!  

详细说明加分!!


------解决方案--------------------
保存帖子肯定要有ID来标识,回帖子的时候数据库里只要记录这个回复引用哪个ID不就可以了吗?
------解决方案--------------------
就和oracle自带emp表的上司的员工号的那个一个道理,每个帖子的回贴的上司就是原创帖子ID
------解决方案--------------------
回帖和发贴有什么差别呢,它们都是帖子,所以,一个直接的做法就是在表中设置一个整型子段叫做TrackId,同一话题的帖子都设置同一个值,比如你发的这个贴和我回的这个贴的TrackId相同。由于我们发贴的时间有先后,排序一下就可以知道哪个是问题贴,那些是回帖了。

当然,如果你要更细致的结构,也可以在表中设计两个子段:Id和ParentId,前者是每个帖子都唯一的流水号,后者表示父帖子的Id号。比如,你的问题贴Id是10,ParentId是0,因为你这是开天辟地第一贴,所以没有父贴。而我这个贴的Id可能是11,但是ParentId应该设置为10,便可以认为是对你帖子的回帖。这样做的好处是可以实现树形结构,可以对某个回帖再回帖,很漂亮,也更清晰。当然,关于树型结构还有很多效率更高的实现方法,不过原理基本不变。
------解决方案--------------------
可以看看Jive~~