显示输入的最新评论

时间:2016-02-23 10:15:29

标签: php mysql

我有一个帖子表和一个评论表,对于一个帖子,会有一些评论添加到它。有一个PHP表格,我显示数据。
在此表中,我希望在添加帖子时显示帖子的最新评论。

帖子表,添加帖子的位置:

       Posts 
+-------+---------+
|  id   | Post    |
+-------+---------+
|   1   |   ABC   |
|   2   |   DEF   |
|   3   |   GHI   |
+-------+---------+

评论表,其中评论的数量将添加到特定帖子:

   Comments
+----------+---------+
|  Post_id | Comment |
+----------+---------+
|   1      |   A     |
|   1      |   D     |
|   3      |   F     |
|   3      |   V     |
|   3      |   B     |
+----------+---------+

这里post_id取自post表的id。

我希望在此表格中显示带有最新评论的帖子:

<table>
  <thead>
    <tr>
      <th>Post</th>
    </tr>
  </thead>
  <tbody>
    <?php foreach($results as $key=>$row) { ?>
    <tr>
       <td><?php echo $row['Comment'];?></td>
    </tr>
    <?php } ?>
</tbody>
</table>

例如:

+----------+---------+
|  Post    | Comment |
+----------+---------+
|   ABC    |   D     |
|   GHI    |   B     |
+----------+---------+

提前致谢。

4 个答案:

答案 0 :(得分:1)

这对你有用!

SELECT comment FROM comments WHERE comment_id = (SELECT comment_id 
FROM comments WHERE post_id = 1 ORDER BY comment_id DESC LIMIT 1);`

表格结构

Table Structure

表格数据

Table Data

查询结果

Query Result

答案 1 :(得分:0)

在目前的状态下,它们并不是一种简单而且最佳的方式。我建议你在当前的Comments表中添加一个id字段。

答案 2 :(得分:0)

添加到@Sakuto回答

还为评论表提供ID,并为其提供AUTO_INCREMENT。当您选择特定帖子的评论时,请获取相应的评论并使用相关的评论ID显示它们。可能是您需要将更高的数字(ID)显示为更低的数字(ID)。将ID设为主键。

答案 3 :(得分:0)

完整的解决方案。您可以在Comments表中添加带有

的current_date列
TIMESTAMP datatype 

并设置

CURRENT_TIMESTAMP as default

只要有新评论,它就会添加当前日期和时间。然后,添加您的SQL查询。

order by current_date desc

它将首先返回最新评论。