Выдернуть случайное значение из массива...

Asar

Новичок
Выдернуть случайное значение из массива...

Имеется массив $Arr, полученный из БД:

$Query = mysql_query("SELECT Id FROM works");
$Arr = mysql_fetch_assoc($Query);

Требуется получить случайное значение $Arr['Id'], причем айдишники идут не подряд, а с пропусками.

Пробовал array_rand, но, видимо, неумело пробовал... Хелп...
 

SiMM

Новичок
Чтобы получить одну случайную выборку - вовсе не обязательно тянуть всю базу.
 

Asar

Новичок
Да, в $Arr только один - затупил я. В общем, сейчас сделал так:

$Query = mysql_query("SELECT Id FROM works");
$Arr = mysql_fetch_assoc($Query);

do {
$A[]=$Arr['Id'];
}
while ($Arr = mysql_fetch_assoc($Query));

echo '-->'.array_rand ($A).'<--';

А также подвид с несколькими вариантами:

$res=array_rand ($A, 3); - чтобы выдать 3 варианта.

По поводу "Чтобы получить одну случайную выборку - вовсе не обязательно тянуть всю базу" - более рационального способа не знаю, если таковой имеется - подскажите.
 

SiMM

Новичок
Имеется. Называется поиск по форуму. Находится в левом верхнем углу. И тебе даже очень повезло - я сейчас настолько добр, что подскажу тебе ключ ;) случайн* mysql
 

Asar

Новичок
select * from works order by rand() limit 3
Видимо, имелось ввиду это...

Кстат, трата времени на написание поста типа "иди на ... (на поиск)" приблизительно равна трате времени на написание ответа.

Мое же время на поиск больше, чем на прочтение ответа.

Посылание на ... поиск вряд ли отучит меня задавать дурацкие вопросы, не порывшись сперва 10 минут - часик - день в архиве форума, а также на яндексе.

Спасибо за оперативность ответов.
 

SiMM

Новичок
Автор оригинала: Asar
select * from works order by rand() limit 3
Видимо, имелось ввиду это...
Нет, не это.
Кстат, трата времени на написание поста типа "иди на ... (на поиск)" приблизительно равна трате времени на написание ответа.
Кстати, я вам ничем не обязан
Мое же время на поиск больше, чем на прочтение ответа.
Цены в вопросе не присутствовало
Посылание на ... поиск вряд ли отучит меня задавать дурацкие вопросы, не порывшись сперва 10 минут - часик - день в архиве форума, а также на яндексе.
Наверно, стоит просто игнорировать вопросы от подобных субъектов.
 
Сверху