基本的なレベルでは、アプリケーション内の「もの」のタイプごとにテーブルがあります。この場合、投稿用のテーブルとコメント用のテーブルです。これと同じくらい簡単なこと:
Post
--------
Id
Content
User
DatePosted
Comment
--------
Id
PostId
Content
User
DatePosted
これにより、投稿とコメントの間にいわゆる1対多(または実際には0対多)の関係が作成されます。これにより、各投稿には0個以上のPommentsを関連付けることができますが、各コメントは1つの投稿にのみ関連付けることができます。
あなたのコード(完全に他の主題です)では、投稿とそれに関連するコメントを表示するために、あなたができることがいくつかあります。入力としてId
があると仮定します 必要な投稿のうち、その投稿とそのコメントを取得できます:
SELECT `Content`, `User`, `DatePosted` FROM `Post` WHERE `Id` = ?Id
SELECT `Id`, `Content`, `User`, `DatePosted` FROM `Comment` WHERE `PostId` = ?Id
結果として得られるデータをどのように処理するかは、アプリケーションでどのように使用するかはあなた次第です。これは2つのテーブル結果として返され、前者には1つのレコード(投稿が存在する場合)があり、後者には0個以上のレコードがあります。当然、使用する前に、何かが存在することなどを確認する必要があります(したがって、最初のクエリで結果が返されない場合は、投稿を表示し続けないでください。デフォルトの応答またはエラーを表示するだけです)。