Рассмотрим задачу выбора случайной записи из таблицы MySQL. Допустим, при этом общее количество записей в таблице неизвестно. Выбирать будем функцией get_random_quote(), текст которой приведен ниже.
Использованные функции:
rand — Генерирует случайное число
int rand ( [int min, int max] )
При вызове без параметров min и max, возвращает псевдослучайное целое в диапазоне от 0 до RAND_MAX.
<?php
//Вызываем функцию и выводим результат на экран
$quote = get_random_quote();
echo $quote;
//Непосредственно функция выбора
function get_random_quote()
{
//Подключение к базе и принудительная установка кодировки utf8
$db = mysql_connect ("localhost","user","password");
mysql_query('SET character_set_database = utf8');
mysql_query('SET NAMES utf8');
mysql_select_db ("allinfo",$db) or die("Database Error: ".mysql_error());
//Этот запрос возвратит общее количество записей в таблице strings
$query = mysql_query("SELECT COUNT(1) FROM strings");
$count = mysql_fetch_array($query);
//Выберем случайное число от 1 до количества записей в базе.
$num=rand(1, $count[0]);
//Выберем строку из таблицы по id, полученному случайным образом.
$sql = "SELECT string FROM strings WHERE id='$num'";
$sql = mysql_query($sql) or die("Database Error: ".mysql_error());
$sql = mysql_fetch_array($sql);
//Функция вернет текст выбранной записи
$return = $sql['string'];
return $return;
}
?>