У меня есть три таблицы: блоги, комментарии и ответы.
У меня есть первичный ключ 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
Внешний цикл не работает во вложенном цикле [дубликат] ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1722848880
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 '
[i]
@hello viewer
'.$comment_message.'
[/i]
50
[i][/i]
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 '
[i]
@hello viewer
'.$reply_message.'
[/i]
50
[i][/i]
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
Подробнее здесь: [url]https://stackoverflow.com/questions/78833624/outer-loop-not-working-in-nested-while-loop[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия