[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверьте код
MadChild
Есть не большой код, который должен выводить текст из БД, текст берется по рэндому, от 0 до 9
в бд 2 столбца номер и описание. т.е. определяется число и в зависимости от этого числа берется описание из БД по номеру
проверить возможности сейчас нет, а нужно именно сейчас, кто шарит скажите правильно написал или нет:
<?php
$a=rand(0, 9);
include('db_login.php');
$connection=mysql_connect($db_host, $db_username, $db_pass);
if(!$connection){
die("<br><b><FONT color=red> Невозможно подключиться к базе данных:</font><br/>".mysql_error()."</b>");
}
$db_select=mysql_select_db($db_database);
if (!$db_select){
die("<br><b><FONT color=red> Невозможно выбрать базу данных:</font><br/>".mysql_error()."</b>");
}
$query='SELECT * FROM random WHERE num=$a';
$result=mysql_query($query);
if(!$result){
die("<br><b><FONT color=red> Невозможно исполнить запрос к базе данных:</font><br/>".mysql_error()."</b>");
}
mysql_close($connection);
?>




Спустя 1 час, 19 минут, 52 секунды (3.10.2011 - 17:39) TranceIT написал(а):

<?php
include 'db_login.php';
$connection = mysql_connect ($db_host, $db_username, $db_pass) or die (mysql_error());
$db_select = mysql_select_db ($db_database, $connection) or die (mysql_error());
$query = "SELECT * FROM table_name ORDER BY RAND() LIMIT 1";
...



Вроде так...
rand() медленная функция, т.к. для выполнения создается временная таблица. Если записей всего 10 то пойдет.

Спустя 13 минут, 7 секунд (3.10.2011 - 17:52) Игорь_Vasinsky написал(а):
1. тег <font> - устаревший, используй <span>
2. Конкатенация... в SQL и в HTML - отсутствует

3.
<?php
$a = rand(0, 9); //Это ещё что такое?

include('db_login.php'); //Инклудь в начале кода
$connection=mysql_connect($db_host, $db_username, $db_pass);
if(!$connection){
exit("<br><b><span style='color:red'> Невозможно подключиться к базе данных : </span>".mysql_error()."</b>");
}
$db_select=mysql_select_db($db_database);
if (!$db_select){
exit("<br><b><span style='color:red'> Невозможно выбрать базу данных:</span>".mysql_error()."</b>");
}

//Если $a - число(integer) , опусти одинарные ковычки и запиши так " . (int)$a . "
$sql = "SELECT * FROM `random` WHERE `num` = '" . $a . "'";

$query = mysql_query($sql);

$count = mysql_num_rows($query); //Проверил скока строк вернуля БД в ответе

if(!$count)
{
exit("<br><b><span style='color:red'>Записей по данному запросу не обнаружено!</span></b>");
}
else
{
//Если знаешь что вернётся 1 строка то цикл не обязателен
while($result = mysql_fetch_assoc($query))
{
//Вывод ассициативного массива
//вида $result['id'] и т.д.

}
}


mysql_close($connection);
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.