Как записи БД установить частоту выборки?

В БД хранятся рекламные баннеры для сайта. Какой алгоритм вы знаете, что б этим баннерам можно было установить параметр "частота показа" (предположительные варианты "Часто", "Обычно", "Редко"), а потом отправлять запрос БД и выбирать два баннера, в зависимости от установленных значений частоты?
  • Вопрос задан
  • 2180 просмотров
Пригласить эксперта
Ответы на вопрос 2
`rate_in_second` = 1 - все частые
`rate_in_second` = 3 - все обычные
и т д. где `rate_in_second` - время частоты показов
SELECT * FROM `banners` WHERE UNIX_TIMESTAMP(NOW()) % `rate_in_second` = 0

такой себе простенький вариант
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
добавляем колонку к баннерам в БД:
lastshow: [timestamp]
X: 5(часто),15(обычно),30(редко)
now()-lastshow>X*60 показываем случайной выборкой из списка и записываем в lastshow
Выбор баннера для показа "частых":
SELECT * from banners where NOW()-lastshow>5*60 RAND() LIMIT 1

Далее запрашиваем для "обычных", меняя 5 на 10 и т.д.
Как только наберется в списке нужное кол-во - прекращаем и выводим.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы