Связать категории с товарами и сохранить в массив
Есть 2 таблицы категорий и товаров, нужен sql-запрос, чтобы связать категории с товарами и сохранить в массив.
`mkt_sections` (`id`, `title`) VALUES
(5, 'Боевики'),
(2, 'Исторические'),
(1, 'Комедии'),
(3, 'Мелодрамы'),
(6, 'Телефоны'),
(4, 'Триллеры');
`mkt_products` (`section_id`, `podsections_id`, `model`) VALUES
('1', '3', 'Правило'),
('2', '5', 'Закон',),
('2', '5', 'Закон',),
('3', '6', 'Поделом'),
('4', '33', 'парам',),
('4', '35', 'рампа'),
('5', '40', 'забито'),
('6', '1', 'Nokia'),
('6', '1', 'Nokia'),
('6', '2', 'Samsung'),
('6', '2', 'Samsung'),
('6', '7', 'Lenovo');
Есть 2 селекта:
в одном нужно вывести <option value="mkt_sections.id">
cо значением mkt_sections.title</option>
;
во втором нужно вывести <option value"mkt_products.podsections_id">
cо значением
mkt_products.model</option>
.
И когда я выбираю в первом селекте категорию, то во втором селекте нужно отобразить
товары, связанные с этой категорией автоматически, связаны они по полям mkt_sections.id = mkt_products.section_id
.
Как мне проделать путь от выборки данных с обеих таблиц до вывода их в опции с вытекающими вышеописанными действиями?
Обновление
SELECT mkt_sections.id, mkt_sections.title, section_id, podsections_id, model AS mkt_products FROM mkt_sections LEFT JOIN mkt_products ON mkt_sections.id=mkt_products.section_id GROUP BY mkt_sections.id
Пробую такой вариант, но таблица не та, немного выходит:
id title section_id podsections_id mkt_products
1 Комедии 1 3 Правило
2 Исторические 2 5 Закон
3 Мелодрамы 3 6 Поделом
4 Триллеры 4 52 Пополам
5 Боевики 5 36 софит
6 Телефоны 6 1 Nokia
Выводит только единичный вариант, а мне нужно, чтоб выбрало, допустим, категорию id title (6, Телефоны) и к нему сразу 3 модели, в моём случае
id title section_id podsections_id mkt_products
6 Телефоны 6 1 Nokia
6 2 Samsung
6 7 Lenovo
Потом следующая категория, и так по всем.
SELECT DISTINCT mkt_sections.title, mkt_sections.id, mkt_products.section_id, mkt_products.model, mkt_products.podsections_id FROM mkt_sections LEFT JOIN mkt_products ON mkt_products.section_id=mkt_sections.id ORDER BY mkt_sections.title, mkt_products.model
Вот такой подошёл запрос, теперь нужно с него сформировать массив.
title id section_id model podsections_id
Боевики 5 5 забито 40
Боевики 5 5 забыто 39
Боевики 5 5 лекало 37
Боевики 5 5 новая 38
Боевики 5 5 софит 36
Исторические 2 2 Закон 5
Исторические 2 2 Сосиска 4
Комедии 1 1 Правило 3
Мелодрамы 3 3 Поделaм 61
Мелодрамы 3 3 Поделом 6
Телефоны 6 6 Lenovo 7
Телефоны 6 6 Nokia 1
Телефоны 6 6 Samsung 2
Триллеры 4 4 пампа 34
Триллеры 4 4 парам 33
Триллеры 4 4 Пополам 52
Триллеры 4 4 рампа 35
Обновление
Как мне массив правильно сформировать, чтоб получился
Array ( id => 6 Телефон => Array (
0=> Array (section_id => 6
podsections_id => 1
model => Nokiya
),
1=> Array(section_id => 6
podsections_id => 2
model => Samsung
),
2=> Array(section_id => 6
podsections_id => 7
model => Lenovo
)
),
id => 1 Комедии => Array (
0=> Array (section_id => 1
podsections_id => 3
model => Правило
)
)
И так по всем категориям.