我正在尝试创建一个包含帖子列表的页面,并在每个帖子下方包含属于该帖子的所有评论。最初,我只想使用一个查询来使用 SQL 的 JOIN 检索所有帖子 + 评论,但我发现例如检索具有多个评论的帖子是不可能的。它仅显示每个帖子最多 1 条评论的帖子,或者根据评论数量仅显示帖子多次。
在这个相关问题中,有人谈到了使用 2 个查询: How to print posts and comments with only a sql query
但是我该怎么做呢?
我有帖子的查询和while循环,但我显然不想为该循环内的每个帖子运行评论查询。
$getPost = mysql_query('SELECT p.post_id,
p.user_id,
p.username,
p.content
FROM post p
ORDER BY p.post_id DESC');
while($row = mysql_fetch_array($getPost))
{
...
}
表结构(reply为存放评论的表):
POST (post_id (primary key), user_id, username, content, timestamp)
REPLY (reply_id (primary key), post_id, username, reply_content, timestamp)