Путешествуя по просторам Интернета, вы наверняка не раз видели на многих сайтах такой интересный прием, как случайный вывод информации. Это и показы баннеров, и новости, и анекдоты, и цитаты и многое другое. Причем при перезагрузке страницы данные меняются, что придает сайту определенную степень динамичности. Реализовать случайный вывод информации (как текстовой, так и графической и пр.) можно различными программными способами, однако все их можно поделить на те, что исполняются на стороне клиента, и те, которые считывают информацию для отображения из базы данных, расположенной на сервере. Приведем оба варианта.
Клиентский вариант рандомайзера (именно так называется программа случайного вывода данных; от англ.: «random» — случайный) рассмотрим на примере JavaScript-сценария, выводящего новую гиперссылку в зависимости от числа месяца (раздел HEAD):
<script>
var daylinks=new Array()
daylinks[1]=»http://www.alpet.spb.ru»
daylinks[2]=»http://www.rambler.ru»
daylinks[3]=»http://www.yandex.ru»
daylinks[4]=»http://www.microsoft.com»
… … …
var mydate=new Date()
var today=mydate.getDate()
</script>
где:
var daylinks — переменная гиперссылки для каждого числа месяца;
daylinks[2]=»http://www.rambler.ru — значение переменной для указанного массива данных new Array();
… … … — пропущенные из экономии места:) значения остальных ссылок (вплоть до 31);
var today — переменная, идентифицирующая HTML-файл, при вызове которого загружается одна из 31 ссылки.
В качестве серверного варианта рандомайзера рассмотрим скрипт, написанный на языке PHP и выводящий в нужном месте страницы при каждой ее перезагрузке новый текст (им могут оказаться цитаты, анекдоты, новости, стихотворения — одним словом, все что угодно). Для этого нам нужно создать два файла: текстовый, где будут размещаться фрагменты текста для случайного вывода, и файл самого скрипта с расширением PHP. Открываем любой текстовый редактор и вписываем туда блоки данных в следующем виде:
Цитата 1 —NEXT— Цитата 2 —NEXT— Цитата 3 … и т.д.
Сохраняем файл, например, под именем «database.txt». Далее создаем новый файл, прописываем там начальные и конечные парные теги (HTML, HEAD, TITLE и BODY) и в «тело» документа (там, где будут выводиться случайные данные) вставляем следующий сценарий:
<?php
$RANDOM_TXT_FILE = «database.txt»;
srand((double)microtime()*1000000);
if (file_exists($RANDOM_TXT_FILE)) {
$arry_txt = preg_split(«/—NEXT—/», join(», file($RANDOM_TXT_FILE)));
echo $arry_txt[rand(0, sizeof($arry_txt) -1)];}
else { echo «Error: can’t open $RANDOM_IMG_FILE file»;}
?>
Сохраняем файл под любым именем с расширением .php, загружаем его и файл базы данных на сервер, запускаем браузер и… любуемся:)