Выборка по категориям, и подкатегориями подчинения SQL

Автор piter, 12 апреля 2016, 17:40:51

« назад - далее »

piter

Добрый день!
Нужен запрос к БД с выборкой по категориям, и подкатегориями подчинения.
В принципе запрос  такой
SELECT cp.id_category, cp.name, cp.id_shop, cp.id_lang, cl.id_category as id_category_p, cl.id_parent  FROM `ps_category_lang` cp
LEFT JOIN `ps_category` cl ON (cp.`id_category` = cl.`id_category`)

Но вот как сделать с сортировкой по их порядку подчинения?
В  id_parent  находится номер id_category  к которому он относиться в таблице ps_category_lang
В примере запрос, он выводит таблицу, но не ставит по подчинению.
Как это можно решить?
Запрос во вложении.
Должно быть так:

Корень   
Главная
Каталог
Весна-1
Для девочек-весна
Для мальчиков-весна
Для весна-весна новая
И т.д

Спасибо.

DarinSr

Построение дерева категорий есть в модуле blockcategories. Возьмите запрос из этого модуля и адаптируйте под свой.

PrestaMan

Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

piter

Спасибо за подсказку!
А с ORDER BY `level_depth` ASC что-то я не понял... куда его ставить в запрос?

Миколас

Одним SQL запросом не сделать с сортировкой по вложенности.
Это только в скрипте или процедуру создавть нужно.

Adik

Есои вы создавали категории по порядку, тогда можно отсортировать по ид родителя, добавив в запрос
ORDER BY `cl`.`id_parent` ASC