вот у меня запрос. PHP: $max=mysql_query("SELECT MAX(id) from sites"); while($rov=mysql_fetch_array($max)) $gen = rand(1,$rov[0]); $sqlr="select * from reKl where id='$gen'"; $resultr=mysql_query($sqlr); $rowr1=mysql_fetch_array($resultr); как вы поняли идет случайный выбор с бд выбирается поле с ID=1 и до последнего поля,но тут я столкнулся с проблемой. у меня ID вот так расположены ID 2 4 5 6 10 Т.Е некоторые записи удалили. как тут зделать случайны выбор?
PHP: <?php $result = mysql_query('SELECT * FROM table ORDER BY RAND()'); while ($row = mysql_fetch_row($result)) { print $row[0]."<br />\n"; } ?>
ааа тоесть PHP: <?php $result = mysql_query('SELECT * FROM table ORDER BY RAND() LIMIT 3'); while ($row = mysql_fetch_row($result)) { print $row[0]."<br />\n"; } ?> Будет случайно показыватся 3 записи да?
теперь еще проблема возникла. я делаю банерокрутилку на сайте. вот посмотри site_balans - это кол-во показов. надо чтобы у кого показов меньше 1. те пропускались а те и кого 1 и больше те показывались. помогите тут PHP: <?php include ("setup.php"); $result = mysql_query('SELECT * FROM base ORDER BY RAND() WHERE site_balans > 0 LIMIT 3'); while ($row = mysql_fetch_row($result)) { print $row[0]."<br />\n"; } ?>
в этом случае сервер создаст для каждой строчки свое значение rand и затем по ним отсортирует - чем больше база тем дольше будет исполнряться этот запрос. Для таблицы в миллион записей - это ж@@а.