Здравствуйте. У меня в таблице хранятся категории. Каждая категория имеет под категорию. У каждой категории есть parent_id где хранится id категории к которой принадлежыт текущая категория.
Как написать метод с рекурсией чтобы мог возвращать дерево категорий(массив) ? Например так:
Главная категория
--под катугория
--под катугория
--под катугория
--под под катугория
--под под катугория
Главная категория
--под катугория
--под катугория
если parent_id ноль то ето рутовая категория(имеет подкатегории)
vagrand
24.02.2014 - 13:06
Oggy
Выбери все данные одним запросом с сортировкой по parent_id, а замет в рекурсивной функции создавай вложенный массив.
_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
AllesKlar
24.02.2014 - 19:32
Можно в OSCommerse посмотреть, так именно этот принцип хранения категорий
_____________
[продано копирайтерам]
dr.nomore
27.02.2014 - 11:59
Запросом никак или гемор с процедурами и другими заморочками в рамках mysql
В скрипте как и обозначено - рекурсией.
Впрочем если глубина известна заранее то заранее известным количеством left join с алиасом таблицы можно получить типа чето.