![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| supercelt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
Пишу для жумлы выборку секций и категорий из бд, в виде дерева. В таблице категорий есть поле parent_id но оно не задействовано. Но вот хотелось бы его использовать.
Я написал функцию, кторая работает, но с рекурсией, нет. Если убрать строчку $return .= getParentTree($listing->c_parent); то всё выводит, но только родителей. А если строку не убирать, вместо сайта вообще белый экран. В чём тут ошибка?
|
|||
|
||||
| SneG0K |
|
|||
|
Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
У тебя скрипт уходит в бесконечную рекурсию и умирает бедняга...
Лучше извлеки все записи из БД (один запрос), а потом на основе всех данных построй дерево и закешируй его. |
|||
|
||||
| supercelt |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
Я это как раз и пытался сделать. Решил, что надо одним запросом всё изъять и в массив это. А потом работать уже с массивом.
После изъятия из базы получилось вот что: Это в $array
И теперь я работаю с массивом
А страница была белая потому что вместо getParentTree2($array, $row['c_parent']) нужно было modTreeSC::getParentTree2($array, $row['c_parent']) но проблеам та же, теперь вместо белого экрана браузер просто сбрасывает соединение, как буд-то хоста нет. Если убрать $res .= modTreeSC::getParentTree2($array, $row['c_parent']); то всё норм. Не понимаю где ошибка. Например в модуле mainmenu сделана такая же рекурсия, однако там всё работает |
||||
|
|||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |