Реклама на сайте Advertise with us

Скриптик рандомной ротации на PHP

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:



С нами с 10.03.03
Сообщения: 265
Рейтинг: 261

Ссылка на сообщениеДобавлено: 04/05/06 в 21:20       Ответить с цитатойцитата 

Нужет скрипт для ротации текстовых ссылок, случайная ротация. Например, 20 ссылок ротировались рандомном и не повторялись, пока не покажутся все? Есть ли такой скрипт на PHP?

0
 



С нами с 06.08.03
Сообщения: 243
Рейтинг: 228

Ссылка на сообщениеДобавлено: 04/05/06 в 22:15       Ответить с цитатойцитата 

Если устроит не на РНР а на Перле, могу написАть такой.

4
 



С нами с 16.10.04
Сообщения: 19
Рейтинг: 8

Ссылка на сообщениеДобавлено: 05/05/06 в 05:58       Ответить с цитатойцитата 

<?php
$file = file("mylinks.txt");
for($i=0;$i<20;$i++){
$mt = mt_rand(0,count($file));
print $file[$mt]."<br>";
}
?>

Но все зависит от количества ссылок в файле. Если их достаточное кол-во то повторятся не будут.

соси, что осталось...

4
 

zeustraffic.com

С нами с 08.11.02
Сообщения: 3232
Рейтинг: 2611

Ссылка на сообщениеДобавлено: 05/05/06 в 06:19       Ответить с цитатойцитата 

magistrate писал:
<?php
$file = file("mylinks.txt");
for($i=0;$i<20;$i++){
$mt = mt_rand(0,count($file));
print $file[$mt]."<br>";
}
?>
Но все зависит от количества ссылок в файле. Если их достаточное кол-во то повторятся не будут.


можно проще сделать, чтобы не повторялись, если число ссылок >=20
<?
$file = file("mylinks.txt");
srand(time());
shuffle($file);
for($i=0;$i<20;$i++){
if (i<count($file)) print "$file[$i]<br>";
else print $file[20-$i].'<br>';
}
?>

Правда, я слегка не понял самого техзадания. Если под "не повторялись, пока не покажутся все" имеется в виду то, что при заходе того же серфера ему выводится новый, уникальный набор линков, который еще не показывался, нужно куки пользовать.

90+ niche toplists

4
 

www.awm-tools.com

С нами с 28.01.04
Сообщения: 2941
Рейтинг: 3056


Передовик Master-X (01.01.2006) Передовик Master-X (16.01.2006) Передовик Master-X (01.03.2006)
Ссылка на сообщениеДобавлено: 05/05/06 в 09:10       Ответить с цитатойцитата 

Имелось ввиду, что пользователь заходит первый раз - ему показывается первая ссылка. Заходит второй раз - ему показывается вторая ссылка и т.д.
Заходит 20ый раз - показывается 20ая сслыка
Заходит 21ый раз - показывается 1ая ссылка

Засабмить свой вебмастерский ресурс, получи PR!

4
 



С нами с 09.02.03
Сообщения: 549
Рейтинг: 195

Ссылка на сообщениеДобавлено: 05/05/06 в 09:24       Ответить с цитатойцитата 



И причем в произвольном порядке, а не подряд. icon_smile.gif

Лучший хостинг для белых проектов: Digital Ocean

4
 

www.awm-tools.com

С нами с 28.01.04
Сообщения: 2941
Рейтинг: 3056


Передовик Master-X (01.01.2006) Передовик Master-X (16.01.2006) Передовик Master-X (01.03.2006)
Ссылка на сообщениеДобавлено: 05/05/06 в 09:32       Ответить с цитатойцитата 

Dragon писал:
И причем в произвольном порядке, а не подряд. icon_smile.gif

Ааа... ну да... точно icon_smile.gif

Засабмить свой вебмастерский ресурс, получи PR!

4
 

zeustraffic.com

С нами с 08.11.02
Сообщения: 3232
Рейтинг: 2611

Ссылка на сообщениеДобавлено: 05/05/06 в 09:58       Ответить с цитатойцитата 

Dragon писал:
И причем в произвольном порядке, а не подряд. icon_smile.gif


ну если хочется именно в произвольном порядке (хотя смысл этого постичь не могу), тогда что-то типа


<?
if (isset($_COOKIE['NUM']) && isset($_COOKIE['INDEX']))
{
$num=intval($_COOKIE['NUM']);
$index=intval($_COOKIE['INDEX']);
}
else
{
$num=time();
srand($num)
$index=0;
setcookie('NUM',$num,$num+(60*60*24*30),'/');
}
srand($num);
$file = file('mylinks.txt');
shuffle($file);
print $file[$index];
setcookie('INDEX',++$index,$num+(60*60*24*30),'/');
?>

90+ niche toplists

4
 



С нами с 10.03.03
Сообщения: 265
Рейтинг: 261

Ссылка на сообщениеДобавлено: 05/05/06 в 13:34       Ответить с цитатойцитата 

Всем огромное спасибо, рейтинг поставил. Буду пробовать

0
 

no sign

С нами с 25.07.03
Сообщения: 3623
Рейтинг: 1403

Ссылка на сообщениеДобавлено: 05/05/06 в 13:46       Ответить с цитатойцитата 

Zeus, в твоем варианте по-моему куки как раз нахер не нужны icon_smile.gif
они просто не заюзаются icon_smile.gif

skype:megaarachno

0
 



С нами с 26.02.03
Сообщения: 2366
Рейтинг: 987

Ссылка на сообщениеДобавлено: 05/05/06 в 20:28       Ответить с цитатойцитата 

В варианте magistrate, если убрать цикл, то по теории вероятностей при большом количестве заходов вероятность показа всех ссылок будет одинаковая icon_smile.gif.

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »