これは私のデータベースがどのように見えるかです
コメント
id 1 - (primary key)
user_id 2
comment - I need help
id 2 - (primary key)
user_id
comment - I'm going to sleep now
id 3 - (primary key)
user_id 2
comment - Watching the news.
返信
id 1
comment_id 1 (foreign key)
reply - what do you need help with?
id 2
comment_id 1 (foreign key)
reply - i can help you!
id 3
comment_id 1 (foreign key)
reply - i don't understand!
id 4
comment_id 2 (foreign key)
reply - OK have a good night.
問題は、コメントを次のようにネストして表示することです。
コメント - 助けが必要です
--- 返信 - 何の助けが必要ですか?
- - お手伝いしましょう!
- - - 理解できない!
コメント - もう寝ます
--- 返信 - はい、おやすみなさい。
コメント - ニュースを見ています。
- - 応答なし
これは私が今得ているものではありません。
コメント - 助けが必要です
--- 返信 - 何の助けが必要ですか?
コメント - 助けが必要です
- - お手伝いしましょう!
コメント - 助けが必要です
- - 理解できない!
コメント - もう寝ます
--- 返信 - はい、おやすみなさい。
コメント - ニュースを見ています。
- - 応答なし
これは私のクエリです
$query = $db->prepare("SELECT
comments.id,
comments.user_id,
comments.comment,
replies.id,
replies.comment_id,
replies.reply
FROM comments
LEFT JOIN replies
ON comments.id = replies.comment_id
WHERE comments.user_id = ? ORDER BY comments.id DESC");
try {
$query->execute();
while($row = $query->fetch(PDO::FETCH_ASSOC)) {
$comm_id = $row['id'];
$comm_user_id = $row['user_id'];
$comm = $row['comment'];
$re_id = $row['id'];
$re_comm_id = $row['comment_id'];
$re_reply = $row['reply'];
echo $comm." - ".$re_reply;
}
} catch (PDOException $e) {
echo $e->getMessage();
exit();
}
問題は明らかにクエリ構造にありますが、目的の結果を得るために構造化する方法がわかりません。
私は自分自身を十分に明確に説明したいと思います.事前に助けてくれてありがとう.