Русскоязычный форум, посвященный фреймворку Kohana http://forum.kohanaframework.su/ |
|
Дерево категорий http://forum.kohanaframework.su/viewtopic.php?f=33&t=355 |
Страница 1 из 2 |
Автор: | borodatych [ 31 авг 2012, 10:19 ] |
Заголовок сообщения: | Дерево категорий |
Доброго времени суток. Есть стандартная схема хранения категорий: Код:
Помоги те разобраться, как построить дерево категорий. Я могу сделать что то вроде: Код:
В $cats_p попадают только все у кого parent=0, в cats_с абсолютно все. Но это для родительских категорий и их первых подкатегорий, а как быть с 2,3..10 вложением? ..не могу построить логику..расчитываю на вашу помощь.. |
Автор: | Sergey [ 31 авг 2012, 12:46 ] |
Заголовок сообщения: | Re: Дерево категорий |
Поищите по форуму. Там где то моя (и не только) писанина была по этом поводу |
Автор: | borodatych [ 31 авг 2012, 14:43 ] |
Заголовок сообщения: | Re: Дерево категорий |
У вас там тоже используется всего два foreach. То есть отобразятся только родители и их первые потомки, а что если у потомков есть свои потомки? ..предполагаю нужна рекурсия, но не знаю как это реализовать.. |
Автор: | Sergey [ 31 авг 2012, 16:16 ] |
Заголовок сообщения: | Re: Дерево категорий |
ну вот же http://www.tommylacroix.com/2008/09/10/php-design-pattern-building-a-tree |
Автор: | borodatych [ 02 сен 2012, 01:29 ] |
Заголовок сообщения: | Re: Дерево категорий |
Премного благодарен за ссылку, то что нужно. Не могу адаптировать под себя, так как не совсем прочувствовал код. Понимаю что загвоздка, у меня, в этом куске: Код:
А именно в условии else, не понимаю что тут происходит, а точнее от куда берутся ['children'] и ['childs']? И еще, в данном контексте ID это позиция строки в общем массиве, но у меня ID моих категорий расходится с позицией их в выборочном массиве, поэтому происходит не корректное присваивание. Как можно с данным вопросом разобраться? Куда копать? ..задача для меня пока не тривиальна.. Там есть другая функция mapTree, которая первая, kohana на нее ругается благим матом: Цитата: ErrorException [ Fatal Error ]: Maximum function nesting level of '100' reached, aborting! В этой части кода: Код:
В общем я в тупике рассчитываю на помощь... |
Автор: | borodatych [ 08 сен 2012, 12:36 ] |
Заголовок сообщения: | Re: Дерево категорий |
Возможно не хотели отвечать на глупые вопросы, такие как: borodatych писал(а): А именно в условии else, не понимаю что тут происходит, а точнее от куда берутся ['children'] и ['childs']? С этим я разобрался, но по прежнему остается нерешенный вопрос: borodatych писал(а): И еще, в данном контексте ID это позиция строки в общем массиве, но у меня ID моих категорий расходится с позицией их в выборочном массиве, поэтому происходит не корректное присваивание. ..я уигрался уже всяким параметрами, без результатно.. Пробовал убрать условия выборки, что бы попробовать получить id позиции элемента равным с его настоящим id. Все бы нечего но посреди запроса попросту нет какой-нибудь записи, возможно сам удалил. То есть записи идут catid=1, catid=2, catid=4, и в массиве они имеют место id=0, id=1, id=3. Да и присваивание идет не к catid, а к id позиции, т.е. если у потомка parent=1, то он посути наследник элемента id=0 у которого есть колонка catid=1, но идет присвоение к элементу id=1, у которого catid=2. ..надеюсь получилось описать суть проблемы.. И если для вас это как два пальца.. об асфальт, будьте так любезны укажите на ошибки/ткните носом/пните по направлению, я просто хочу уже добить этот пробел. Возможно еще что то нужно предоставить для разбора полетов? Говорите выложу/предоставлю. ..задача для меня пока не тривиальна.. С этой байдой даже не разбирался, если кто сталкивался буду рад если поделитесь, возможно сам позже сгуглю, но пока не до этого. borodatych писал(а): Там есть другая функция mapTree, которая первая, kohana на нее ругается благим матом:
Цитата: ErrorException [ Fatal Error ]: Maximum function nesting level of '100' reached, aborting! В этой части кода: Код:
В общем я в тупике рассчитываю на помощь... |
Автор: | Sergey [ 08 сен 2012, 18:08 ] |
Заголовок сообщения: | Re: Дерево категорий |
Дамп таблицы в которой это дело лежит - в студию |
Автор: | borodatych [ 09 сен 2012, 19:53 ] | ||
Заголовок сообщения: | Re: Дерево категорий | ||
Доброго времени суток. Благодарю за отзывчивость. Дамп прикрепил. С уважением, Роман
|
Автор: | borodatych [ 18 сен 2012, 02:47 ] |
Заголовок сообщения: | Re: Дерево категорий |
..дико извиняюсь, но я все же апну.. |
Автор: | borodatych [ 09 окт 2012, 21:21 ] |
Заголовок сообщения: | Re: Дерево категорий |
Sergey, есть результаты? Получилось? Намекните в какую сторону двигаться? Может рекурсия? Или все же этот вариант как то можно заставить работать? |
Страница 1 из 2 | Часовой пояс: UTC + 4 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |