IT-Expert
  IT-Expert / Веблог / Пишем баннерную систему
Авторизация
Логин:
Пароль:


 
Поиск по записям:

Ключевые слова:
Записей в блоге
 за 2023 год
 за 2022 год
 за 2021 год
 за 2015 год
 за 2014 год
 за 2013 год
 за 2012 год
 за 2011 год

     за 2010 год

       за 2009 год
       за 2008 год
       за 2007 год
       за 2006 год
       за 2005 год
      RSS лента Лента новостей IT-Expert 

      Пишем баннерную систему

      15:00, 24 марта 2005 ( Databases Web Development PHP Parser  )

      Баннерную подсистему лучше всего организовывать как вызов внешнего ресурса через iframe.

      1. Показ в рандомном порядке у меня был реализован примерно так:
      Яваскриптом на странице генеришь случайное число(как правило для того чтобы сраницы с баннерами не кешировались), это число подставляешь параметром к вызову страницы баннера. Таким образом баннеры вызванные с одной страницы будут иметь одинаковый параметр.
      Далее после выборки баннера делаем update поля last_pid, в которое заносим наше рандомное число со страницы. При следующей выборке уже показанный баннер попадет под условие last_pid!="наше рандомное число со страницы" и повторно на одной странице показан не будет.

      2. Вводишь в таблицу такое понятие как вес(weight) баннера, т.е. число в пределах, к примеру, 1..5. При выборке используем его след. образом:

      ...
      order by
      views*weight
      ...
      где views = количество просмотров.

      Таким образом при весе в 3,2,1 из 6 показов будут показаны первый - три раза, второй - два и третий один.


      И еще пару моментов, которые тебе однозначно пригодятся.

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

      При выборках баннера обязательно делать LOCK/UNLOCK таблицы с баннерами, т.к. повторный select может не включить в себя результаты после update, и на странице вылезет два одинаковых баннера.

      Комментариев: 2
      © Максим Прокопов 2005-2024 О сервере