Рассмотрим задачу выбора случайной записи из таблицы 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;
}
?>

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *