Случайная ротация баннеров в зависимости от стоимо

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