Здравствуйте! Вот такая ситуация, мне нужно вытащить одну строку, по условию. Вот кусок кода который это делает, но не совсем: Код (Text): $query = mysql_query("SELECT adv_id FROM advert WHERE adv_shwavlb > '0' LIMIT 1"); В бд 3 строки, которые соответствуют запросу, НО вытаскивает он только одну, первую по счету. Можно ли сделать так, чтобы он рандомную строку вытаскивал из соответствующих по условию?
у этого примера есть некоторые недостатки... вот пример в связке с пхп Код (Text): $result = mysql_query('SELECT MAX(id) FROM table'); $max_id = mysql_result($result, 0); $random_id = mt_rand(1, $max_id); $row = mysql_query('SELECT * FROM table WHERE id = '.$random_id);
p@R@dox 55RU а если в диапазоне id будут пробелы? Скажем были записи 1 2 3 4 5 6 7 8 9 и записи 3 4 5 6 удалили?
Вообще я это предусмотрел, и сделаю так, чтобы пробелов не было. Но опять же из за этого мне и нужен будет отбор по условию
Код (Text): $query = mysql_query("SELECT adv_id FROM advert WHERE adv_shwavlb > '0' ORDER BY RAND() LIMIT 1"); $a = mysql_result($query, 0); Я правильно понял?