Вопрос по алгоритму доски объявлений.

Benderlio

Новичок
Вопрос по алгоритму доски объявлений.

Добрый день,
возникло желание написать конструктор форм для доски объявлений.
Т.е. например для автомобилей свои поля для компьютеров свои.

Бд Три таблицы,1 с названием схемы, 2 с названием полей, 3 с данными. Тип полей(select,text,textarea и т.д.) хранится в подключаемом файле.

Возникла проблемма, если мне необходимо сделать вложенные данные
например выбираем "Производитель авто" и аяксом грузим "Модели" этого производителя
как мне все это реализовать? алгоритм.
Как хранить подобные данные, подскажите.

Спасибо.

-~{}~ 22.12.08 17:17:

неясны именно эди подчиненные списки...
 

TutanXamoN

Новичок
Работать будет мега быстро)
Что тебе мешает для третей таблицы добавить parent_id?

-~{}~ 22.12.08 17:02:

Либо в конструкторе указывать глубину вложенности и создавать таблицы?
 

Benderlio

Новичок
TutanXamoN
это больше задача для меня лично...
понимаю что в реальном проекте будет сильно тормозить именно база если там будут pid

-~{}~ 22.12.08 18:55:

интерфейс для работы с такими условиями не очень удобен, если не сказать грубее
 

TutanXamoN

Новичок
Тогда слушай бредовые идеи:
1. в третьей таблице добавляем pid (как правильно подмечено - тормоза при раскручивании спирали pid будут)
2. Если известна глубина вложенности (допустим Категория-Подкатегория-ПодПодкатегория) делаем соответственно таблицы
cat, subcat, subsubcat (в которых поля ид + имя) и две таблицы связей cat<--->subcat<--->subsubcat.
3. В таблице самих объявлений делаем глобальную абстракцию(классно звучит:)). То бишь имея понятие объекта "объявление" находим общие характеристики (фото, описание, производитель и т.д) а все характеристики которые не вписываются в глобальную модель пихаем в отдельное поле с полнотекстовым поиском (и возможностью фильтрации в интерфейсе по неограниченному вложению тегов {машина + 4х4 + форд + неон + сиденье для ребёнка})- достаточно интересный вариант, но сложный в плане работы с самими облаками.

ИМХО: Идеально совместить варианты 2+3 - разделить понятие вложенности и фильтрации. Вложенность допустим максимум 3, а для конкретной подподкатегории куча полей или одно облако для фильтрации.
 
Сверху