[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сбор всех вложенных элементов категории
linklink26
Добрый вечер)

Есть следующая головоломка:

Находясь во вложенной категории необходимо выбрать все элементы из нее и всех вложенных в нее категорий, и если они тоже имеют подкатегории из них тоже, т.е. все ветви.

Проблема в том что все что я не выдумывал даже в теории это тяжелые запросы а это главный основной модуль.

Вот таблицы:


CREATE TABLE IF NOT EXISTS `category` (
`category_id` int(10) unsigned NOT NULL auto_increment,
`category_pid` int(10) unsigned default NULL,
`category_name` varchar(250) NOT NULL default ''
PRIMARY KEY (`category_id`),
KEY `category_pid` (`category_pid`),
)
ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

CREATE TABLE IF NOT EXISTS `obj` (
`obj_id` int(10) unsigned NOT NULL auto_increment,
`obj_category_id` int(9) NOT NULL,
`obj_name` varchar(40) NOT NULL,
`obj_text` text NOT NULL
PRIMARY KEY
(`obj_id`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;


В первой есть категории и их вложенности.

Во второй элементы которые по obj_category_id принадлежат категории.

Как бы вы посоветовали поступить?

Можно попробовать рекурсивно выводить все что вложено и вложено во вложенное но это будет очень тяжело.

Хотя кэш может помочь, но думаю должен быть способ попроще.
Arh
Может это поможет

_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
linklink26
Тут довольно сложная структура и много чего переделывать. А сайт уже есть с инфой, думал осталось только сделать не тяжелый вывод данных. Может все таки проще тогда сделать тяжелые подзапросы+кэш?
linklink26
Решил сделать так: собрать отдельными запросами все Id категорий, а затем выбрать объекты с такими id.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.