Сенсей
Новичок
помогите с рэндомом + выборка сбазы нескольких значений
Задача - выбрать с базы некоторое количество записей в случайном порядке.
Выбрать одну случайную запись - не проблема .... а вот несолько - тут я уже бошку поломал над логикой ... вот до чего я пока что дешел :
$total = mysql_fetch_row(mysql_query("SELECT count(*) FROM buttons", $dbi));
$show = 2; // сколько записей показать
$rand_start = rand(1, ($total['0']-$show));
$rand_end = $rand_start+$show;
$result =mysql_query("SELECT code FROM buttons limit ".($rand_start).",".($rand_end)."", $dbi);
$content = "";
while(list($code) = mysql_fetch_row($result))
{
echo $code.'<br><br>';
}
При $show = 2; выводит то 2 записи ... то 3 .. то 3 ....
до некоторых записей вобще не доходит
Вобщем бред какой то .... я и логику вроде понимаю - но уже достало ... не получается заставить работать по человечески
можно конечно сделать
$result = mysql_query("SELECT code FROM buttons ORDER BY RAND() LIMIT ".$show."", $dbi);
но оно рэндомится странно ..... очнь част выдает одни и те же результаты один за одним .. + читал что оно медленно работает .. или я не прав ?
Задача - выбрать с базы некоторое количество записей в случайном порядке.
Выбрать одну случайную запись - не проблема .... а вот несолько - тут я уже бошку поломал над логикой ... вот до чего я пока что дешел :
$total = mysql_fetch_row(mysql_query("SELECT count(*) FROM buttons", $dbi));
$show = 2; // сколько записей показать
$rand_start = rand(1, ($total['0']-$show));
$rand_end = $rand_start+$show;
$result =mysql_query("SELECT code FROM buttons limit ".($rand_start).",".($rand_end)."", $dbi);
$content = "";
while(list($code) = mysql_fetch_row($result))
{
echo $code.'<br><br>';
}
При $show = 2; выводит то 2 записи ... то 3 .. то 3 ....
до некоторых записей вобще не доходит

Вобщем бред какой то .... я и логику вроде понимаю - но уже достало ... не получается заставить работать по человечески

можно конечно сделать
$result = mysql_query("SELECT code FROM buttons ORDER BY RAND() LIMIT ".$show."", $dbi);
но оно рэндомится странно ..... очнь част выдает одни и те же результаты один за одним .. + читал что оно медленно работает .. или я не прав ?