У меня есть три таблицы: блоги, комментарии и ответы.
У меня есть первичный ключ blog_id в блогах< таблицы /code>, первичный ключ comment_id в таблицах комментариев и первичный ключ Answer_id в таблицах ответов.
В в таблице blogs у меня есть один столбец с именем -
blog_id int(11)
В таблице комментариев у меня есть следующие столбцы:
comment_id int(11),
comment_viewer_id int(11),
comm_blog_id int(11),
comment_message longtext,
comment_on datetime
В таблице ответов у меня есть следующие столбцы:
reply_id int(11),
reply_viewer_id int(11),
reply_blog_id int(11),
reply_comm_id int(11),
reply_message longtext,
reply_on datetime
Предположим, у меня есть blog_id = "2" и
у меня есть comment_id = "5" .
Запрос, который я использовал для получения comment_message, выглядит следующим образом:
SELECT * FROM `comments`
INNER JOIN `blogs`
ON comments.comm_blog_id = blogs.blog_id
WHERE comments.comm_blog_id = '2'
ORDER BY comments.comment_on
DESC
Запрос, который я использовал для получения ответа_сообщения, выглядит следующим образом:
SELECT * FROM `replies`
INNER JOIN `blogs`
INNER JOIN `comments`
ON replies.reply_blog_id = blogs.blog_id
AND replies.reply_comm_id = comments.comment_id
WHERE replies.reply_blog_id = '2'
AND replies.reply_comm_id = '5'
ORDER BY replies.reply_on
DESC
Запрос, который я использовал для получения данных из базы данных, использует цикл while внутри цикла while (т. е. вложенный цикл while) внутри PHP следующим образом:
р>
$sql_comm = "SELECT * FROM `comments` INNER JOIN `blogs` ON comments.comm_blog_id = blogs.blog_id WHERE comments.comm_blog_id = '2' ORDER BY comments.comment_on DESC";
$result = mysqli_query($conn, $sql_comm);
while ($row = mysqli_fetch_assoc($result)) {
$comment_message = $row["comment_message"];
echo '
@hello viewer
'.$comment_message.'
50
5
reply
0
';
$sql_reply = "SELECT * FROM `replies` INNER JOIN `blogs` INNER JOIN `comments` ON replies.reply_blog_id = blogs.blog_id AND replies.reply_comm_id = comments.comment_id WHERE replies.reply_blog_id = '2' AND replies.reply_comm_id = '5' ORDER BY replies.reply_on DESC";
$result = mysqli_query($conn, $sql_reply);
while ($row = mysqli_fetch_assoc($result)) {
$reply_message = $row["reply_message"];
echo '
@hello viewer
'.$reply_message.'
50
5
reply
0
';
}
';
';
}
Используя приведенный выше запрос, я получил несколько ответов_комментариев, но не получил несколько комментариев_сообщений.
Мне нужен такой же результат: < /p>
Blog-1-Comment-1
Blog-1-Comment-1-Reply-1
Blog-1-Comment-1-Reply-2
Blog-1-Comment-1-Reply-3
Blog-1-Comment-2
Blog-1-Comment-2-Reply-1
Blog-1-Comment-2-Reply-2
Blog-1-Comment-3
Blog-1-comment-4
Таблица базы данных комментариев
Таблица базы данных ответов
Мне нужен такой результат -
Blog-1-Comment-1
Blog-1-Comment-1-Reply-1
Blog-1-Comment-1-Reply-2
Blog-1-Comment-1-Reply-3
Blog-1-Comment-2
Blog-1-Comment-2-Reply-1
Blog-1-Comment-2-Reply-2
Blog-1-Comment-3
Blog-1-comment-4
Подробнее здесь: https://stackoverflow.com/questions/788 ... while-loop