Я смотрел на похожие вопросы, но не смог найти ответов, которые подходили бы для моей конкретной c ситуации, поэтому я надеялся, что запрос нового поможет. Итак, у меня есть 3 таблицы: сообщения, en, изображения. posts - это основная таблица, а две другие подключаются к ней с помощью внешнего ключа. строка «путь» происходит из таблицы изображений, и к каждому сообщению привязано несколько путей к изображениям. так что здесь возникает проблема, потому что в l oop вся информация о категории, заголовке и тексте повторяется для каждого пути изображения, принадлежащего этой записи. Есть ли способ убедиться, что запрос печатает каждую точку данных, связанную со строкой, только один раз? вот код для лучшего понимания:
$sql = "
SELECT *
FROM posts
INNER JOIN en
ON posts.id = en.post
INNER JOIN images
ON posts.id = images.post";
$result = $conn -> query($sql);
if (mysqli_num_rows($result) > 0) {
while( $row = $result->fetch_assoc()) {
echo "<p>".$row['category']."</p>";
echo "<p>".$row['title']."</p>";
echo "<p>".$row['text']."</p>";
echo "<p>".$row['path']."</p>";
}
}else{
echo "<h1>No posts available...</h1>";
}
результаты:
категория: 0
название: Blue Boat
текст: «Blue Boat» впервые был сделан в 1986
путь к изображению: img / 2 / 0.jpg
категория: 0
название: Blue Boat
текст: «синий Лодка »впервые была изготовлена в 1986 году
путь изображения: img / 2 / 1.jpg
категория: 0
название: Blue Boat
текст: «Синяя лодка» была впервые создана в 1986 году
путь к изображению: img / 2 / 3.jpg
, как вы видите, пост повторяется каждый раз, когда путь к изображению привязан к его Я бы. как мне это предотвратить? Я хочу, чтобы что-то вроде этого было результатом:
категория: 0
title: Blue Boat
текст: «Blue Boat» впервые был создан в 1986
путь к изображению: img / 2 / 0.jpg
путь к изображению: img / 2 / 1.jpg
путь к изображению: img / 2 / 3.jpg