activex.net.ru

ActiveX .NET SharePoint Утилиты Скрипты Статьи ... Форум

Статьи

Случайный выбор записей из базы данных с помощью PHP

Одной из часто встречающихся задач при разработке web-приложения является случайная генерация записей из базы данных. Такая задача может возникнуть, например, при построении специального предложения на корпоративном сайте.
Напишем PHP-скрипт, который выбирает случайно три записи из таблицы базы данных MySQL. Ниже на скриншоте показан примерный вид тестовой таблицы:

Пример т-цы

Далее напишем следующий PHP-скрипт, используя появившуюся в PHP4, функцию array_rand():
1. Файл dbopen.php (открывает соединение с MySQL)


 <?php
  $hostName = "";
  $userName = "yura";
  $password = "yura";
  $databaseName = "rnd";
  if (!($link=mysql_connect($hostName,$userName,$password))) {
 printf("Ошибка при соединении с MySQL !\n");
 exit();
 }
  if (!mysql_select_db($databaseName, $link)) {
 printf("Ошибка базы данных !");
 exit();
 }
?>

2. Файл test.php (основной скрипт)


<?php
  require("dbopen.php");
 
  $sSQL = "SELECT txt FROM test";
  if (!($result = mysql_query($sSQL, $link))) {
 printf("Ошибка запроса к БД !".mysql_error($link));
 exit();
  }
  $i=0;
 
  while($row = mysql_fetch_array($result)) {

  $arr[$i] = $row["txt"];
 
  $i++;
  }
 
  mt_srand((double)microtime() * 1000000);
 
  $rnd = array_rand($arr, 3);
 
  echo($arr[$rnd[0]] . "<br><br>");
  echo($arr[$rnd[1]] . "<br><br>");
  echo($arr[$rnd[2]] . "<br><br>");

?>
 

Всю работу выполняет функция array_rand(). Она случайным образом выбирает ключ из массива arr. Второй параметр функции (3) говорит о том, что надо вернуть три случайных значения. Ниже на скриншоте показан пример работы test.php:

Пример test.php

Пример проекта прилагается: phprand.zip



Copyright © 2000-2017 Христофоров Юрий Rambler's Top100

   Rambler's Top100