小弟菜鸟都算不上,求各位技术大牛指教一二!
一篇文章如何对应多个评论?
本人的想法是设计两张表,文章一个,评论一个。
评论表作为文章表的从表,当网页显示的时候,一篇文章对应多个评论,在数据库中的状态是文章表的一行对应了评论表的多行,那么,是否是将该页的评论都对应一篇文章的id,也就是说,在评论表中,有一个字段是文章的id,而评论表也有自己的id,如果这种设计是可行的,那么如何将文章表的id放入评论表,数据库应该如何操作?
不知道有没有表达清楚,各位大牛如果看到了此题不清楚可以问,我会立刻回复!
不胜感激!
本人刚刚想了另外一种解决方法。
评论提交后存取文章的id,在显示评论的时候,用if语句判断,是这个页面的id才输出评论。不知道这样那可不可行,我先去试试看,另外,网站是php+mysql。
4/22 补充:
感谢I,robot,objnet,幻天芒,小超人1,贫民窟大侠,我是一道光,回答了问题
刘宏玺和飞翔的金雕来水经验的,我就不感谢了 - -,
I,ROBOT是第一个回答问题的,对我帮助很大,大家陆续的回答也很有帮助,满意答案只能有一个,所以给帮助最大的,谢谢大家.
前面说的两个表,是正确的,后面说的如果将文章表ID放入评论表没明白是什么意思,一般做法是把文章的ID用hidden控件放在提交评论的表单里,后台收到表单数据后一起写到数据库里就可以了。
至于取文章的评论,你怎么会想到用if判断?难道你不知道查询可以用where条件吗?
取一篇文章的评价直接加一个查询条件whrer 文章id = xxx就可以了啊
就是用提交的表单来关联两张表吗,但是在数据库里面,怎么知道评论对应的是哪篇文章呢?
如果就我问题里讲的,评论表中有一个字段是文章表的id,那评论表应该如何做?
因为我百度过主键和外键的问题,但还是一知半解,按照一些方法做了,评论表里还是没能看到文章表的id字段。如果可以的话,先向你讨教这个问题吧。
一并谢过
我想我可能搞清楚答主的意思了,但还是求证一下吧,这么晚答主应该睡了,明天我再回来看。
@苏杭见桥: 对的,评论表里加一个文章id的字段就可以了。
@苏杭见桥:
是不是这样的:
两张表是没有内在联系的,但是评论表里除了评论本身的id之外,再添加一个文章id字段,并没有所谓的主键外键的事(就是一个普通的文章id字段),hidden控件将文章的id写入到这个文章id字段,然后显示评论的时候就用WHERE条件。
就是这样的
楼主自己都想到了,就是评论表里面关联文章表的id就行,取数据的时候吧评论表里面的文章id跟文章表的id匹配的取出来就行,最好加上个评论的时间做个排序。
嗯,我尝试做一下,看看效果
主从表设计。文章表为主表,评论表为从表(存储有文章表的文章id)。要展示的时候,查询两次,首先根据文章id查文章表,然后根据文章id查询该文章的所有评论。
至于如何拿到文章id。你在提交评论的时候,带上文章id就行了。
你不是说文章表示从表吗,那就在文章表上存储评论表的集合啊,这样的话可以直接通过文章表查询出来所对应的评论啊。
评论表里关联一个'外键'文章ID即可,每次评论的时候顺带存上你的文章ID,分两个表是比较可行的,其实你自己意识到了,这样在管理员对评论管理的时候比较好操作,像类似一些什么审核,删除什么的,都很方便。至于显示的时候,1楼已经给出了具体示意了,你直接根据文章ID在评论表里取得所有文章ID为你文章的答案集合,输出就行。
评论表里设置一列为文章的id,并关联文章表的主键id,作为外键,这样不管对文章和评论的所以操作用该列关联两表就行了。
我看楼主应该清楚如何实现了,我是来骗豆的!
楼主如果有问题就补充,我好赚点豆!
楼上都答完了,我进来加加人气,顺便赚点豆!!