Полезные функции PHP: Выбор случайной записи из таблицы MySQL (генератор цитат)
Рассмотрим задачу выбора случайной записи из таблицы 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; } ?> |