问一个关于论坛的设计? 正在做个一个论坛,但是遇到了问题?发贴后把帖子保存在一个数据表中 那么回相应的帖要怎么来设置数据库呢! 详细说明加分!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 保存帖子肯定要有ID来标识,回帖子的时候数据库里只要记录这个回复引用哪个ID不就可以了吗? 比如Article表有下面几个字段,Id、RefId、Content、Time,其中Id记录帖子的Id,不管是原创还是回复都记录;RefId是说这篇帖子回复哪篇帖子,记录所回复帖子的Id,若为空,则表明该帖子是原创;Content、Time分别记录帖子内容、时间。当然,还有发贴人,发表的版面等等,就不详细列出来了。 就和oracle自带emp表的上司的员工号的那个一个道理,每个帖子的回贴的上司就是原创帖子ID 回帖和发贴有什么差别呢,它们都是帖子,所以,一个直接的做法就是在表中设置一个整型子段叫做TrackId,同一话题的帖子都设置同一个值,比如你发的这个贴和我回的这个贴的TrackId相同。由于我们发贴的时间有先后,排序一下就可以知道哪个是问题贴,那些是回帖了。当然,如果你要更细致的结构,也可以在表中设计两个子段:Id和ParentId,前者是每个帖子都唯一的流水号,后者表示父帖子的Id号。比如,你的问题贴Id是10,ParentId是0,因为你这是开天辟地第一贴,所以没有父贴。而我这个贴的Id可能是11,但是ParentId应该设置为10,便可以认为是对你帖子的回帖。这样做的好处是可以实现树形结构,可以对某个回帖再回帖,很漂亮,也更清晰。当然,关于树型结构还有很多效率更高的实现方法,不过原理基本不变。 面试题 java中排序算法 做文字动画的时候,如何让图像不残留阿?急!急! 关于FileOutputStream (答案选社么,原因) applet重画以后,paint()以后,怎么没有东西了????? 各位JAVA高手进来看一下好吗?给分100 如何在JPanel中画图?在线等 我什么编译不了java 乱码问题,请关注! 为什么我的JBUILDER5.0总死机? 对于IO流始终不太明白 求救,高手帮下忙!!!在线等
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货