|
|
|
| Здравствуйте.
существует функция по выборке случайного значения из заданного массива.
$input = array("123213", "2343244 ", "342354", "325367", "284365", "349704");
$rand_keys = array_rand($input, 1);
echo $input[$rand_keys[0]] . "\n";
|
Однако как будет выглядеть массив если числа массива (по которым нужно сделать случайный выбор) задаются запросом, к примеру есть запрос
$query = "select * from numbers where id = '$id'";
$number_result = $db->query($query);
while ($start = $number->fetch_assoc())
{
$number = $start['number'];}
|
Вопрос в том как теперь числа $number, получаемые из запроса, впихнуть в массив
|
$input = array("123213", "2343244 ", "342354", "325367", "284365", "349704");
|
И второй вопрос на синтаксис -
$i = '1';
$rand_keys = array_rand($input, $i);
| - какое будет написание правильно при использовании параметра $i ? | |
|
|
|
|
|
|
|
для: TimurAndreevich
(15.05.2009 в 02:54)
| | В принципе если вам надо получить какое-то число рандомом из БД, то это можно сделать так:
$query = mysql_query("SELECT `number` FROM `numbers` WHERE `id`='".$id."' ORDER BY RAND() LIMIT 1");
|
Правда странно, что у вас может быть енсколько записей с одним id...
Ну а если вам надо сделать имено ерез цикл while, то можно сделать так:
$number = aray();
$query = "select * from numbers where id = '$id'";
$number_result = $db->query($query);
while ($start = $number->fetch_assoc())
{
$number[] = $start['number'];
}
$rand_keys = array_rand($input, 1);
echo $number[$rand_keys[0]] . "\n";
|
А ан счёт синтаксиса, если ворпос стоял исопльзовать переменную $i=1 или просто ставить 1, то без разницы. Хотя, если у вас $i ВСЕГДА будет равна 1, то смысла создавать эту переменную нет... | |
|
|
|
|
|
|
|
для: DEM
(15.05.2009 в 04:15)
| | по поводу $id - это как пример параметра(не является значением auto_incriment), а насчет $i - создается так как заранее неизвестно число случайных значений которые нужно выбрать, - это число передается в параметре $i.
спасибо за помощь). | |
|
|
|