Внешний цикл не работает во вложенном цикле [дубликат]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Внешний цикл не работает во вложенном цикле [дубликат]

Сообщение Anonymous »

У меня есть три таблицы: блоги, комментарии и ответы.
У меня есть первичный ключ 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»