У меня есть родительская категория, в которой содержатся все имена автомобилей, обозначенные parent_name в таблице "parent".Для каждого из этих родителей может быть любое количество моделей автомобилей, и все они идут в таблице под названием «модель».Каждая из этих моделей может иметь любое количество изображений и ссылаться через model_id в качестве внешнего ключа.Моя задача - показать все имя родителя только один раз (как в группе) и одновременно перечислить все модели под этим родителем только с одним соответствующим изображением.Родительское имя не должно отображаться более одного раза.
МОЙ ЭКСПЕРИМЕНТ:
Я в основном пытался написать 2 запроса.Один из них состоял в том, чтобы оставить «родительскую» таблицу для «моделей» и использовать GROUP BY parent_id, а затем в цикле while написать другой запрос, чтобы получить только 1 изображение, используя соединение таблиц моделей и изображений с помощью поля model_id.Но при этом перечисляется только 1 модель, хотя существует несколько моделей.Поэтому я попытался использовать GROUP BY parent_id, model_id.Использование этого действительно показывает все модели, но в то же время, также повторяется, показывая parent_name, и мне нужно, чтобы parent_name показывался только один раз по всей странице.Вы можете сказать, что я пытаюсь Сгруппировать имя модели под родителем и показать все модели с одним родителем, и я показываю только 1 изображение модели.Если каким-то образом я смогу избежать многократного отображения parent_name, проблема будет решена.
Ниже приведены схемы моей таблицы:
//Table parent
parent_id parent_name
1 Par1
2 Par2
//Table model
model_id parent_id model_name
1 1 Model1
2 2 Model2
3 1 Model3
4 1 Model4
5 2 Model5
//Table model_images
image_id model_id
1 1
2 1
3 1
4 2
5 3
6 3
Желаемый результат:
Par1 ---> This is the parent. Needs to be shown only once.
Model1 --> This is a model. List all models that belong to this parent.
image_id 1 -> Show only 1 image of the model (model may have multiple images but I need just one)
Model3 --> This is a model.
image_id 5 -> Show only 1 image of the model
Model4 --> This is a model.
No Image -> Note that no image exists for this model. So we show "No Image" text.
------------------------------------------------------------
Par2 ---> This is the parent. Needs to be shown only once.
Model2 --> This is a model.
image_id 4 -> Show only 1 image of the model
Model5 --> This is a model.
No Image -> Note that no image exists for this model. So we show "No Image" text.
Мне нужен код PHP и mySQL для достижения вышеизложенного.Приветствуется вся помощь в решении проблемы.
Большое спасибо.
РЕДАКТИРОВАТЬ 1: Извините, я забыл добавить это.Я не объектно-ориентированный программист.Поэтому я был бы очень признателен, если бы вы смогли избежать объектно-ориентированного кода в своем решении и показать мне то же самое без опа.Спасибо.