Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Группировка подкатегорий к с категориями
id - основной id категории parent_id - записывается id категории для связи. типа подкатегории.
в результате имеем
категория 1
категория 2
категория 3
категория 4
категория 5
категория 6
категория 7
но категории 4, 5, 6 в parent_id имеют id категории 2.
т.е. являются ее подкатегориями.
Вот как можно в цикле категории 4, 5, 6 выводить ПОД категорией 2?
т.е. вот так
категория 1 категория 2
--категория 4
--категория 5
--категория 6
категория 3
категория 7
У меня вывод идет через smarty. может в нем можно как-то? Хотя лучше в php это предопределять.
Помогите пожалуйста.
DlTA
Отправлено: 27 Апреля, 2011 - 00:02:16
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
а просто запросить сначала список категорий у которых нет родителя,
вопхнуть в массив, а потом для каждой категории запрашивать список подкатегорий проблемно??!
Саныч
Отправлено: 27 Апреля, 2011 - 08:08:18
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
вывод всех категорий и подкатегорий... вобщем выводим все...
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
dropoff
Отправлено: 27 Апреля, 2011 - 15:12:42
Посетитель
Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
Да. у меня если без родителя категория, то 0.
У меня что-то типа плагинной системы как в wordpress.
функция category() вешается на хук. По этому все содержимое нужно в ней оформлять.
Тут я тему хотел поднять по данной системе http://forum.php.su/topic.php?fo...1&topic=6930
и все. т.е. этот файл буквально почти так и оформлен.
Пробовал уместить все в эту функцию category(), но все время ругается на
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource
Саныч
Отправлено: 27 Апреля, 2011 - 15:16:02
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
dropoff пишет:
Пробовал уместить все в эту функцию category(), но все время ругается на
покажи кусок кода, как пробовал... Получается какая-то ошибка в запросе
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
dropoff
Отправлено: 27 Апреля, 2011 - 15:31:30
Посетитель
Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010
Если убрать
аргументы - $id = 0,$level = 0
из запроса - AND parent_id=".$id."
и из цикла - category($category['id'],$level + 1);
то вывод работает. но естественно просто списком
Саныч
Отправлено: 27 Апреля, 2011 - 17:44:18
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
dropoff
Отправлено: 27 Апреля, 2011 - 22:33:51
Посетитель
Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
Спасибо большое! Что-то не допер вторую функцию добавить)
dropoff
Отправлено: 28 Апреля, 2011 - 22:04:12
Посетитель
Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
Хм. Сделал вывод запросов и их количество. Оказалось данное решение делает столько запросов, сколько и категорий.
получается 27 запросов.
При этом сама страница без категорий делает всего 3 запроса
Саныч
Отправлено: 28 Апреля, 2011 - 23:15:22
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
dropoff пишет:
получается 27 запросов.
а сразу это было не понятно?)
Не хочется запросов, вытаскивайте одним запросом все, прогоняйте через циклы, кароче занимайтесь фигней...
недавно была похожая задача, писал менюху с подкатегориями. Организовал так, сначало выводил на страницу только "верхние" категории и те, у которых есть потомки ставил определенный ид. При клике на такую категорию, я аяксом подгружаю ее потомков, и открываю... И так далее... Возможно такой вариант будет наиболее удачным?
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
dropoff
Отправлено: 28 Апреля, 2011 - 23:29:49
Посетитель
Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
Вылетело что-то из головы совсем, что там функция в цикле висит и будет запросы добавлять новые
Подгрузка на AJAX это вариант. Наверное, так и буду пробовать реализовать, спасибо за подсказку.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.