У меня есть родительская категория, которая содержит все имена автомобилей, обозначенные parent_name в таблице «родитель». Для каждого из этих родителей может быть любое количество моделей автомобилей, и все они заносятся в таблицу под названием «модель». Каждая из этих моделей может иметь любое количество изображений и упоминаться через model_id в качестве внешнего ключа. Моя задача - показать все родительское имя только один раз (как в группе) и в то же время перечислить все модели под этим родителем только с 1 соответствующим изображением. Имя parent_name не должно отображаться более одного раза.
МОИ ЭКСПЕРИМЕНТЫ:
Я в основном пытался написать 2 запроса. Один из них заключался в том, чтобы оставить «родительскую» таблицу в «моделях» и использовать GROUP BY parent_id, а затем в цикле while написать еще один запрос для получения только 1 изображения, используя объединение таблиц моделей и изображений с использованием поля model_id. Но при этом отображается только 1 модель, хотя моделей несколько. Поэтому я попытался использовать GROUP BY parent_id, model_id. Использование этого показывает все модели, но в то же время также повторяет отображение parent_name, и мне нужно, чтобы parent_name отображалось только один раз на странице. Вы можете сказать, что я пытаюсь ГРУППИРОВАТЬ имя_модели под родителем и показывать все модели под одним родителем, и я показываю только одно изображение модели. Если каким-то образом я смогу избежать многократного показа 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 для достижения вышеуказанного. Приветствуется любая помощь в решении проблемы.
Большое спасибо.
EDIT 1: Извините, я забыл добавить это. Я не объектно-ориентированный программист. Поэтому я был бы очень признателен, если бы вы могли избежать объектно-ориентированного кода в своем решении и показать мне то же самое без ошибок. Спасибо.