投稿のリストを含むページを作成しようとしています。各投稿の下には、その投稿に属するすべてのコメントがあります。最初は、SQL の JOIN を使用してすべての投稿とコメントを取得するために 1 つのクエリのみを使用したかったのですが、たとえば、複数のコメントを含む投稿を取得することは不可能であることがわかりました。投稿ごとに最大 1 つのコメントがある投稿のみを表示するか、コメントの量に応じて投稿を複数回表示します。
この関連する質問で、誰かが 2 つのクエリの使用について話しました: How to print posts and comments with only one 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))
{
...
}
テーブル構造 (応答はコメントを格納するためのテーブルです):
POST (post_id (primary key), user_id, username, content, timestamp)
REPLY (reply_id (primary key), post_id, username, reply_content, timestamp)