Обучение/Помощь новичкам | рандом
Всем привет.
Нужна помощь по рандому.
Нужен рандом выбор случайного айди из базы данных.
И зачисление этому айди рубинов.
Рандом я сделал,но бывает рандомит например число 152 а токого айди нет.
Нужна помощь по рандому.
Нужен рандом выбор случайного айди из базы данных.
И зачисление этому айди рубинов.
Рандом я сделал,но бывает рандомит например число 152 а токого айди нет.
DELETED
21 февраля 2017, в 17:00
Delete
shadrvlad (21.02.2017 в 17:00)
VikZav , ORDER BY RAND() LIMIT 1
VikZav , ORDER BY RAND() LIMIT 1
это случайный столбик из таблицы?
________
посл. ред. 21.02.2017 в 17:02; всего 1 раз(а); by VikZav
делай выборку из бд, предварительно создав пустой массив.
в цикле заноси ид юзеров в массив.
далее array_rand
в цикле заноси ид юзеров в массив.
далее array_rand
shadrvlad (21.02.2017 в 17:00)
VikZav , ORDER BY RAND() LIMIT 1
VikZav , ORDER BY RAND() LIMIT 1
так нельзя делать
$query='SELECT MAX(id) FROM tablename';
$query=mysql_fetch_row(mysql_query($query));
$max_id=$query[0];
$rand = mt_rand(1,$max_id);
DELETED
21 февраля 2017, в 17:06
Delete
Avenax (21.02.2017 в 17:02)
делай выборку из бд, предварительно создав пустой массив.
в цикле заноси ид юзеров в массив.
далее array_rand
делай выборку из бд, предварительно создав пустой массив.
в цикле заноси ид юзеров в массив.
далее array_rand
так тоже не айс, лучше уж LIMIT $rand, 1, где $rand - рандом от количества записей
shadrvlad (21.02.2017 в 17:06)
так тоже не айс, лучше уж LIMIT $rand, 1, где $rand - рандом от количества записей
так тоже не айс, лучше уж LIMIT $rand, 1, где $rand - рандом от количества записей
Проще для головы и рук, но так не проще машине.
Если в таблице больше, чем 4-5 тысяч строк, то ORDER BY RAND() будет работать очень медленно.
Гораздо более эффективно будет выполнить один запрос:
$array = array();
$query = mysql_query("SELECT `id` FROM `table`");
while ($row = mysql_fetch_assoc($query)) {
$array[] = $row['id'];
}
DELETED
21 февраля 2017, в 17:12
Delete
shadrvlad , в посту №2.
Стр.: 1, 2