cooperok пишет:Мучаюсь, не могу придумать как организовать....
Таблица в бд со списком категорий - cat_id | cat_name. cat_id - внешний ключ к таблице баннеров - banner_id | cat_id | ... . Если баннер может быть в нескольких категориях, то будет третья таблица связей баннеров и категорий, тогда:
категории -
cat_id | cat_name
баннеры -
banner_id | ...
связи -
id | cat_id | banner_id
имена полей, естественно, не должны дублироваться.
Если категории имеют и площадки и баннеры, то добавляйте в таблицу связей поле item_type INT(1) оно будет хранить тип - категория площадки или категория баннера:
связи -
id | cat_id | item_id | item_type
1 | 2 | 123 | 1
2 | 2 | 543 | 2
баннер и площадка записанные в одну категорию.
Цитата:так сделай поле в таблице с рекламными площадками, например, category varchar(100) not null
Записывай в нее строку по типу 2,3,8 с помощью implode().
Во-первых, это в корне не правильное решение с позиции построения баз данных.
А во-вторых, если (в некоторых, ситуациях, но не в этой) оно является допустимым простым решением, то писать не через implode() строку с запятыми, а сериализованный массив значений. (Отредактировано автором: 04 Апреля, 2012 - 09:26:57)
|