Как получить уникальное случайное число в php

Я пытаюсь разработать программное обеспечение для тестирования компьютерной базы (CBT) на PHP.

Я хочу, чтобы он случайно возвращал вопрос из базы данных MYSQL где у меня есть 100 вопросов в базе данных.

Но используя существует реальная уверенность, что он может выбрать тот же вопрос на том же сеансе.

Как выбрать уникальное случайное число в сеансе?

2 ответа

Я не знаю, что это решает вашу проблему с php. Но с помощью Mysql rand() вы можете получить случайные вопросы из db.

SELECT * FROM yourtable ORDER BY RAND();

Если вы хотите, чтобы 10 случайных строк из 100 строк

SELECT * FROM yourtable ORDER BY RAND() LIMIT 10;


Вы можете использовать RAND() для получения случайных вопросов из базы данных. И чтобы позаботиться о уникальности вопросов, вы можете использовать ключевое слово IN при выборе нового вопроса из базы данных. Значит, вам нужно отслеживать все старые вопросы, чтобы проверить IN.

ИЛИ вы можете сразу получить все уникальные вопросы из базы данных с помощью RAND() и использовать эти вопросы для этого сеанса.

licensed under cc by-sa 3.0 with attribution.