Я уверен, что где-то в Интернете этот вопрос уже задан, но я его не нашел, потому что я не знаю, для чего именно я должен искать. Поэтому я попытаюсь описать проблему:SQL-Query PHP -Blog
У меня есть блог, написанный на PHP и SQL-база данных, где я получаю необходимые данные.
Каждая запись в блоге содержит 1 изображение и 1 текстовое поле и имеет свой собственный идентификатор. Чтобы получить эти данные я выполнить этот запрос (псевдо-код) -> это работает отлично:
foreach($db->query("SELECT news.id, news.position, news_text.date, news_text.text, news_images.image
FROM news
LEFT OUTER JOIN news_text ON news.id=news_text.id
LEFT OUTER JOIN news_images ON news_images.id = news.id
ORDER BY position") as $row){
echo "{$row['id']}";
echo "{$row['position']}";
echo "{$row['date']}";
echo "{$row['text']}";
echo "{$row['image']}";
}
Теперь проблема начинается. Я хочу добавить поле комментария, где пользователи могут добавлять сообщение. Поэтому для каждой записи в блоге может быть несколько комментариев (вероятно, это соединение 1: n). - Я попытался добавить цикл foreach в цикл foreach (глупый) - Я попытался с несколькими SQL-запросами, но получил только мусор в результате - Я не вижу логики подключения базы данных news_comment с другими
Вот моя упрощенная база данных:
может кто-нибудь дать мне подсказку, как я мог бы решить эту проблему. Результат должен быть:
foreach($db->query("SELECT news.id, news.position, news_text.date, news_text.text, news_images.image
FROM news
LEFT OUTER JOIN news_text ON news.id=news_text.id
LEFT OUTER JOIN news_images ON news_images.id = news.id
ORDER BY position") as $row){
echo "{$row['id']}";
echo "{$row['position']}";
echo "{$row['date']}";
echo "{$row['text']}";
echo "{$row['image']}";
Here i get for each blog-entry the corresponding comments..
}
спасибо. Misch
Большое спасибо за ваш ответ. Я попробую как можно скорее, но у меня есть еще одна проблема, которая мешает мне попробовать это на данный момент. – Mischu