评论表(tbl_comment)设计如下:
创新互联专业为企业提供浠水网站建设、浠水做网站、浠水网站设计、浠水网站制作等企业网站建设、网页设计与制作、浠水企业网站模板建站服务,十多年浠水做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
回复表(tbl_reply)设计如下:
回复表添加了一个 comment_id 字段来表示该回复挂在的根评论 id,这样设计也是出于性能方面的考虑,我们可以直接通过评论 id 一次性的找出该评论下的所有回复,然后通过程序来编排回复的显示结构。 通过适当的冗余来提高性能也是常用的优化手段之一。
reply_type:表示回复的类型,因为回复可以是针对评论的回复(comment),也可以是针对回复的回复(reply), 通过这个字段来区分两种情景。
reply_id:表示回复目标的 id,如果 reply_type 是 comment 的话,那么 reply_id = commit_id,如果 reply_type 是 reply 的话,这表示这条回复的父回复。
由于二级评论一般是 “A @ B” 的形式,所以存下 from_uid 和 to_uid 可以省去关联查询。
多级评论表也是同一个设计,不过要嵌套比较深,一般没有那个必要。现在网上最常见的还是二级评论。
可以参看discuz数据库表帖子,和帖子附件的设计,我的大概思路是这样的:
首先建立一个数据表"film"用来保存简短文字信息,其中包含:电影发布时有名字,主演,简介,归属栏目,发布电影的URL链接。在创建一个表(考虑到是小型网站,如果中型的话,可以选择10个,像discuz一样)"attachement",用来保存,上传截图,上传视频。这个表用一个外键与film表连接。中间在外键上加索引。
希望我的回答对你有帮助!
可以自己进行编写评论的留言板块。
1.MySQL 是一种数据库。数据库定义了存储信息的结构。
2.在数据库中,存在着一些表。类似 HTML 表格,数据库表含有行、列以及单元。
3.在分类存储信息时,数据库非常有用。一个公司的数据库可能拥有这些表:"Employees", "Products", "Customers" 以及 "Orders"。
数据库逻辑简单点的话,三张表。
第一张表是文章详情
第二张表是回复
第三章是楼中楼(就是对回复的回复)
查询的话就是三表联合查询。
回复的话,推荐使用js改变form表单属性,点击不同回复获取不同回复的编号,从而用同一个表单区别不同的回复。后台根据传入数据的区别来做区分操作即可。
例如
如果是文章一级回复,表单可以设置一个hidden的input,name为type,value为1;
如果是文章二级回复(就是对一级回复的回复),表单可以设置一个hidden的input,name为type,value为2,并且在点击该一级回复的时候获取该回复的编号,然后写入另一个hidden的input,一起提交到后台,后台再做区分,做不同的操作。
要用到js处理,在点击按钮时动态改变表单的数据,这样就只需要一个表单即可。