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 :: Категории для сайта

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
cooperok
Отправлено: 03 Апреля, 2012 - 22:20:35
Post Id


Частый гость


Покинул форум
Сообщений всего: 137
Дата рег-ции: Сент. 2011  
Откуда: Los Angeles, California


Помог: 0 раз(а)




Мучаюсь, не могу придумать как организовать категории для сайта
Делаю диплом тема Бржа баннерной рекламы.
месяца 3 назад сделал сайт но там очень много недоработок, вот сижу доделываю.
при показе баннера на сайте нужно что б была проверка категории,

вот когда пользователь размешает у себя код для показа баннера выберает категорию одну

когда рекламодатель размещает баннер то нужно что б он мог выбрать несколько категорий, и вот тут проблема незнаю как сделать что б потом проверка была при показе.
(Добавление)
хотя вроде понял как, может не очень удобно но все же,
когда баннер размещают то там добавить 20 ячеек тоесть для каждой категории, цыфра 1 баннер рекламируется в данной категории,

а пользователь который показывает баннеры рекламодателе допустим выбрал категорию АВТО, то при показе баннеров на его сайте, баннеры будут искатся в категории АВТО тоесть цыфра 1.
пока попробую так сделать, если есть у кого идеи по лучше, напишите, буду рад


-----
This forum is vulnerable. I want to replace forum engine.
(c) OrmaJever
 
 Top
НЕЗНАЙКА
Отправлено: 04 Апреля, 2012 - 06:36:22
Post Id



Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Март 2010  
Откуда: Россия


Помог: 0 раз(а)




так сделай поле в таблице с рекламными площадками, например, category varchar(100) not null
Записывай в нее строку по типу 2,3,8 с помощью implode(). Это будет список категорий.
Далее можно выбирать эту строку и циклом пройтись, сравнив значения. Или же почитать мануал mysql и найти функцию. Я забыл как она называется, но там используется IN() т.е поиск в строке Недовольство, огорчение
 
 Top
Zuldek
Отправлено: 04 Апреля, 2012 - 09:19:09
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




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)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB