Как записи БД установить частоту выборки?
`rate_in_second` = 1 - все частые`rate_in_second` = 3 - все обычные
и т д. где `rate_in_second` - время частоты показовSELECT * FROM `banners` WHERE UNIX_TIMESTAMP(NOW()) % `rate_in_second` = 0
такой себе простенький вариант
добавляем колонку к баннерам в БД:
lastshow: [timestamp]
X: 5(часто),15(обычно),30(редко)
now()-lastshow>X*60 показываем случайной выборкой из списка и записываем в lastshow
Выбор баннера для показа "частых":SELECT * from banners where NOW()-lastshow>5*60 RAND() LIMIT 1
Далее запрашиваем для "обычных", меняя 5 на 10 и т.д.
Как только наберется в списке нужное кол-во - прекращаем и выводим.