3 октября 2013
4489
функция rand, php, mysql

Функция rand PHP и MySQL

PHP
Демонстрация » Скачать »

Бывают ситуации, когда требуется выбрать из базы данных, случайные изображения или какую-либо другую информацию. Делается это очень просто с помощью функции rand в запросе к полю, которое нужно выбрать. То есть у нас имеется некое поле, допустим img и мы хотим выбрать все случайные фотографии по очереди, для этого мы используем в запросе функцию rand php и mysql.

 

 

ШАГ ПЕРВЫЙ. База данных MySQL.

 

Создаем базу данных random_images с привилегиями: имя пользователя - "root", пароль - "".

Далее создаем таблицу random_images в которой будут два поля id и img. В поле img будут храниться изображения.

 

--
-- Table structure for table `random_images`
--

CREATE TABLE IF NOT EXISTS `random_images` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `img` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=8 ;

--
-- Dumping data for table `random_images`
--

INSERT INTO `random_images` (`id`, `img`) VALUES
(1, 'audi_q7_1.jpg'),
(2, 'audi_cabriolet.jpg'),
(3, 'ford_focus_1.jpg'),
(4, 'ford_focus_2.jpg'),
(5, 'audi_q7_2.jpg'),
(6, 'audi_q7_3.jpg'),
(7, 'ford_gt.jpg');

 

 

ШАГ ВТОРОЙ. Файл index.php. PHP. 

 

Устанавливаем соединение с базой данных.

 

// указываем параметры для подключения к MySQL
$host='localhost'; // имя хоста
$database='random_images'; // имя базы данных
$user='root'; // имя пользователя
$pass=''; // пароль пользователя

// подключаемся к MySQL
$db = mysql_connect($host, $user, $pass) or die("Нет соединения с MySQL!");
mysql_select_db($database) or die("Не могу подключиться к базе данных!");

 

 

Реализуем запрос к таблице random_images с применением функции rand. Очень важный момент связанный с limit 1, таким образом мы выбираем все случайные изображения из поля img по одному.

 

// Выполняем функцию rand() для выборки случайного изображения
$sql=mysql_query("select * from random_images order by rand() limit 1");
$res=mysql_fetch_array($sql);
do
{
echo "<img src='images/$res[img]'/>";
}
while($res = mysql_fetch_array($sql));

 

Таким образом, сегодня мы смогли рассмотреть полноценное применение функции rand php и mysql. Данный материал был рассчитан прежде всего для новичков, но если возникнут вопросы, жду Ваших комментариев. Спасибо за внимание!