@Silverlight89
Учусь создавать сайты

Как сгенерировать последовательность из пяти случайных чисел в заданном диапазоне на php или python?

Есть база данных, в которой содержатся посты. Задача состоит в том, чтобы по случайной выборке id вывести из Базы данных тексты под этими id. Хотелось бы увидеть понятный код минимального объёма.
  • Вопрос задан
  • 144 просмотра
Решения вопроса 2
SoreMix
@SoreMix Куратор тега Python
yellow
from random import choices
result = choices(range(1,100), k=5)
Ответ написан
@tempick
// 1) Извлечение минимального и максимального id из бд

// Если чистым sql, то типа того:
// SELECT MIN(id) AS min_id, MAX(id) AS max_id FROM Post
//затем
$minPostId = $queryResult['min_id'];
$maxPostId = $queryResult['max_id'];
//А так я хз что вы используете для работы с бд, но думаю, запрос сможете составить

// 2. Генерируем числа

$randomIds = [];
for($i=0;$i<5;$i++) {
    $randomIds[] = rand($minPostId, $maxPostId);
}

// 3. Получаем посты
//SELECT * FROM Post WHERE id IN ($randomIds[0],$randomIds[1],$randomIds[2],$randomIds[3],$randomIds[4])
//Код выборки не могу написать ибо не знаю, какой библиотекой для работы с бд вы пользуетесь и какая бд вообще у вас
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
rpsv
@rpsv
делай либо хорошо, либо никак
Если на SQL, то запрос будет выглядеть так:
SELECT * FROM post ORDER RAND() LIMIT 5;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы