我有一个帖子表和一个评论表,对于一个帖子,会有一些评论添加到它。有一个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 |
+----------+---------+
提前致谢。
答案 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);`
表格结构
表格数据
查询结果
答案 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
它将首先返回最新评论。