Всем привет!
Голова кипит от кучи мыслей которые не получается "разложить по полочкам".
Суть задачи. Необходимо реализовать записть объявлений в базу данных. Соответственно категорий и подкатегорий может быть множество.
Есть ли смысл сделать, скажем, для каждого раздела свою таблицу, для каждой категории тоже свою таблицу, для подкатегории тоже свою ?
Были мысли сделать общую таблицу и каждому значению сделать свое поле в таблице, но думаю это не вариант, т.к. для разных категорий объявлений разное кол-во значений будет.
Еще есть мысли, сделать пару полей для того что бы можно было выбирать данные и поле доп. информации в котором данные будут в сериализованном виде храниться.
Как лучше сделать запись в базу объявлений, что бы как можно проще потом вывести это все из базы в зависимости от категорий и подкатегорий?
1. Andruxa - 03 Июля, 2011 - 21:50:57 - перейти к сообщению
2. Саныч - 03 Июля, 2011 - 22:03:06 - перейти к сообщению
делаете всего две таблицы: объявления и категории. В объвах делаете все необходимые поля и id категории... В категориях соответственно id и parent_id... В итоге имеем неограниченную вложенность категорий и рассортированные объявы...
3. Andruxa - 03 Июля, 2011 - 22:19:35 - перейти к сообщению
Eсли я правильно понял, делаем таблицу категорий:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- CREATE TABLE `categoria` (
- `id` int(11) NOT NULL auto_increment,
- `parent_id` int(11) NOT NULL
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Делаем таблицу объявлений:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- CREATE TABLE `objava` (
- `id` int(11) NOT NULL auto_increment,
- `id_cat` int(11) NOT NULL
- ...... и еще куча полей.....
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
В том то и вопрос, что если так делать то у меня будет куча полей, т.е возьмем для примера 2 категории (Недвижимость и Автомобили)
Для "Недвижимости" поля будут иметь свою специфику (этаж, из чего стены, параметры и т.п.), соответственно поля для объявлений "Автомобили" будут тоже иметь свою специфику (марка модели, год выпуска, цвет, пробег и прочее). Если все это делать в одной таблице это будет караул , может всетаки есть смысл разделить таблицы по катагориям объявлений?