URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 2337
[ Назад ]

Исходное сообщение
"как сделать ПРАВИЛЬНО в ротаторе баннеров..."

Отправлено Kravchenko , 21-Май-04 12:48 
есть ротатор баннеров

скрипт вытягивает из базы все записи
складывает их УИНы в массив

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

это общее, тут попросили сделать так чтобы у кого приоритет был выше.. тот и показывался чаще, насколько я понимаю, верхний подход уже не верен в корне, что и как можно сделать?


Содержание

Сообщения в этом обсуждении
"как сделать ПРАВИЛЬНО в ротаторе баннеров..."
Отправлено SteAltH , 21-Май-04 14:08 
Ну допустим можно дублировать номера баннеров в массиве, или более сложная система: вешать демона, который ведёт статистику показов каждого баннера и показывать их в приоритетном порядке, допустим ты делаешь 50000 показов в час, у тебя 100 баннеров, и => 50000/100 = 500 показов (если у всех одинаковый приоритет), а дальше всё формулы :)



"как сделать ПРАВИЛЬНО в ротаторе баннеров..."
Отправлено Kravchenko , 21-Май-04 14:11 
>Ну допустим можно дублировать номера баннеров в массиве, или более сложная система: вешать демона, который ведёт статистику показов каждого баннера и показывать их в приоритетном порядке, допустим ты делаешь 50000 показов в час, у тебя 100 баннеров, и => 50000/100 = 500 показов (если у всех одинаковый приоритет), а дальше всё формулы :)


!!! голова... шариж :).. пашел писать.. благодарю ще раз


"как сделать ПРАВИЛЬНО в ротаторе баннеров..."
Отправлено MeLLowD , 21-Май-04 14:39 
Какие нахрен демоны??????
Тема обсуждалась неоднократно
http://phpclub.ru/talk/showthread.php?threadid=33757



"как сделать ПРАВИЛЬНО в ротаторе баннеров..."
Отправлено SteAltH , 21-Май-04 15:04 
>Какие нахрен демоны??????
>Тема обсуждалась неоднократно
>http://phpclub.ru/talk/showthread.php?threadid=33757

Обрати внимание, что я предложил 2 решения, одно из них с повторяющимися "баннерами", а демоном можно сэкономить память и не забивать повторяющейся чепухой!


"как сделать ПРАВИЛЬНО в ротаторе баннеров..."
Отправлено MeLLowD , 21-Май-04 15:23 
>>Какие нахрен демоны??????
>>Тема обсуждалась неоднократно
>>http://phpclub.ru/talk/showthread.php?threadid=33757
>
>Обрати внимание, что я предложил 2 решения, одно из них с повторяющимися
>"баннерами", а демоном можно сэкономить память и не забивать повторяющейся чепухой!
>
Ты последний пост внимательно прочитал?

"как сделать ПРАВИЛЬНО в ротаторе баннеров..."
Отправлено Kravchenko , 21-Май-04 15:25 
>Какие нахрен демоны??????
>Тема обсуждалась неоднократно
>http://phpclub.ru/talk/showthread.php?threadid=33757

да перечитал от и до... все равно там сводиться к тому же что и у меня было, потому мне как бы ближе вариант второй.. от Стелза



"как сделать ПРАВИЛЬНО в ротаторе баннеров..."
Отправлено uldus , 21-Май-04 17:35 
>Ну допустим можно дублировать номера баннеров в массиве,

Слишком большие накладные расходы при большом расхождении приоритетов. Допустим, у одного из 100 баннеров вес 10000, или всего 10000 баннеров со средним весом 100 - уже нужен массив в 1000000 записей.

Предлагаю использовать дерево с начальным весом баннера в ветви.

N - суммарный вес всех элементов
R - случайное число из диапазона [0..N].
BI - индекс искомого баннера.
BW - сквозной начальный вес BI, т.е. вес следующего баннера суммируется относительно предыдущих.

Выбираем ветку с наименьшим BW > R.