Случайная ротация баннеров в зависимости от стоимо
1.
Алексей (04.08.2013 / 16:49)
Допустим мы имеем систему показа баннеров. Каждый показ баннеров обходится его владельцу в какую-то денежку, размер которой он выставляет сам. Например средняя цена 1 рубль, а кто-то поставил 2 рубля. Хочется чтобы баннеры тех, кто готов тратить больше денег — крутились чаще, но при этом давали возможность более дешевым баннерам тоже показываться, но меньше раз.
2.
Сергей (04.08.2013 / 17:12)
Реализовать нужно на php я так понимаю или php+sql , пример какой есть , собственно могу взяться . В л.с. или аську если шо или здесь давай разъясни мне что к чему .
3.
Сергей (04.08.2013 / 17:29)
1.
ByKuznec, если быть проще то: rand -- Генерирует случайное
число .
4.
Алексей (04.08.2013 / 20:55)
3.
LETGAM, да я как бы сам разбираюсь, просто кто может сталкивался уже с етим, пусть алгоритм подскажут)
5.
Serge80 (05.08.2013 / 00:55)
3: LETGAM, рандом это зло!
6.
Алексей (06.08.2013 / 22:18)
Поблема решена, random здесь как бы не причем, нужно было формулу придумать)
7.
Вантуз-мен (06.08.2013 / 22:51)
<?
$keys = array();
foreach($advert['sponsors'] as $key=>$val) {
if (!empty($val['sponsor_url'])){
$percent = ceil(100 / ($advert['total'] / $val['sponsor_sort']));
for ($i=0; $i<$percent; $i++){
$keys[] = $key;
}
}
}
$data = $advert['sponsors'][$keys[array_rand($keys)]];
echo '<b><a href="'.$data['sponsor_url'].'">'.$data['sponsor_title'].'</a></b><br />';
принцип такой, заполняется массив в зависимости от sponsor_sort чем он больше тем чаще данные в массиве
ну и естественно чем больше записей в массиве тем выше шанс показа
8.
Serge80 (14.08.2013 / 07:35)
Парни говорят, что правильно так :
$kernel = new AppKernel('prod', false);
$response = $kernel->handle(Request::createFromGlobals());
$response->send();
9.
Изнаур (14.08.2013 / 08:53)
что за AppKernel?такого класса по умолчанию в php нет.как и Request'a
Добавлено через 00:33 сек.
так понял что это из Symfony2
10.
Вантуз-мен (14.08.2013 / 09:16)
8.
Serge80, че за хрень ты написал, даже не зная класса и всех методов судя по названиям это точно не то что тебе надо
11.
юЮЮфюв (14.08.2013 / 10:17)
8.
Serge80, Убей парней.
12.
Serge80 (14.08.2013 / 21:00)
10: Vantuz, судя по тому что это работает, причем на огромных нагрузках - это как раз то, что мне надо ;)
13.
Serge80 (14.08.2013 / 22:08)
11: TakteS, а потом что, взять вас работать?
14.
юЮЮфюв (16.08.2013 / 12:50)
12, Работать-то оно может и работает. Только вот без самого класса этот код ничем не поможет.
15.
Serge80 (19.08.2013 / 21:44)
14: TakteS, Еще раз говорю, работает все отлично, причем на огромных мощностях.
Может просто вы что то не знаете?
16.
Изнаур (19.08.2013 / 22:02)
Serge80,ты что такое классы,фреймворки знаешь?может у вас в проекте используется фреймворк с такой функциональностью,но без самого класса то что ты написал ничего не дает(да и названия классов удивляет,какое они отношение имеют к сабжу не понятно).
17.
Serge80 (20.08.2013 / 02:51)
16: Iznaur95, Ясен пень это фреймворк. Я вообще удивлен, что тут развели базар вокзал по этому поводу.
Специалисты блин.
18.
JustZero (20.08.2013 / 03:59)
17.
Serge80, мда... код AppKernel и Request в студию. здесь не экстрасенсы.!
да и с
<?php
$kernel = new AppKernel('prod', false);
$response = $kernel->handle(Request::createFromGlobals());
$response->send();
я более чем уверен что это совсем не то что нужно т.с.
19.
юЮЮфюв (20.08.2013 / 05:17)
15, Вот держи, вчера написал. Этот код ломает пентагон. Парни сказали, что это то, что нужно.
apple = Orange.new
apple.berry("cherry", true)
apple.send
URL:
https://visavi.net/topics/38631