-----------------
id score
-----------------
1 3
2 7
3 11
4 9
-----------------
Из этого списка в ячейке Score всего 2 ряда который попадают под условие >5 и <10 . А теперь так же надо выбрать случайным образом одного из них (на примере их 2, а может быть 100 и т.д.)
В этом примере результат должен быть id 2 или id 4
Извиняюсь если вопрос покажется глупым, mysql знаю не так хорошо как хотел бы.
Спустя 12 минут, 41 секунда (8.11.2010 - 11:40) silius написал(а):
ну к примеру так:
mysql_query("SELECT * FROM table WHERE score > 5 AND score < 10 ORDER BY id RAND() LIMIT 0,1");
Спустя 14 минут, 55 секунд (8.11.2010 - 11:55) deman455 написал(а):
Ругается: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RAND() LIMIT 0,1' at line 1
MySQL server version , Это из за хоста? Хост платный, хороший
MySQL server version , Это из за хоста? Хост платный, хороший
Спустя 13 минут, 27 секунд (8.11.2010 - 12:08) silius написал(а):
mysql_query("SELECT * FROM table WHERE score > 5 AND score < 10 RAND() ORDER BY id LIMIT 1")
звеняй, не затестил

Спустя 2 минуты, 37 секунд (8.11.2010 - 12:11) linker написал(а):
mysql_query("SELECT * FROM `table` WHERE `score` > 5 AND `score` < 10 ORDER BY RAND() LIMIT 1");
Спустя 5 минут, 10 секунд (8.11.2010 - 12:16) deman455 написал(а):
Тот же прикол...
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RAND() LIMIT 1' at line 1
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RAND() LIMIT 1' at line 1
Спустя 29 минут, 17 секунд (8.11.2010 - 12:45) linker написал(а):
Код в студию, ибо запрос 100% правильный.
Спустя 45 минут, 53 секунды (8.11.2010 - 13:31) deman455 написал(а):
<?php
$dblocation = "localhost";
$dbname = "user";
$dbuser = "user";
$dbpasswd = "*******";
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx)
{
echo 'Reply=Сервер базы данных не доступен!';
exit();
}
if (!@mysql_select_db($dbname, $dbcnx))
{
echo 'Reply=База данных не доступна&Reply2=значение2';
exit();
}else {
$ath = mysql_query("SELECT * FROM `users` WHERE `score` > 100 AND `score` < 200 ORDER BY `user_id` RAND() LIMIT 1");
$row = mysql_fetch_array($ath) or die(mysql_error());
echo $row['user_id'].' : '.$row['score'];
}
?>
Спустя 3 минуты, 14 секунд (8.11.2010 - 13:34) SlavaFr написал(а):
но это не то, что тебе @linker предложил.
Спустя 27 секунд (8.11.2010 - 13:35) deman455 написал(а):
Ответ:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/e/.../test.php on line 18
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RAND() LIMIT 1' at line 1
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/e/.../test.php on line 18
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'RAND() LIMIT 1' at line 1
Спустя 2 минуты, 13 секунд (8.11.2010 - 13:37) deman455 написал(а):
А, извеняюсь. Все отлично работает. Я не заметил.
Спустя 8 минут, 48 секунд (8.11.2010 - 13:46) linker написал(а):
$ath = mysql_query("SELECT * FROM `users` WHERE `score` > 100 AND `score` < 200 ORDER BY RAND() LIMIT 1") or die(mysql_error());
if ($row = mysql_fetch_assoc($ath))
echo $row['user_id'].' : '.$row['score'];
else
echo "Ничего не найдено";