Вы можете сохранить идентификатор всех предыдущих заданных вопросов в вашей сессии:
if (!isset($_SESSION['QuestionAsked']))
{
$_SESSION['QuestionAsked'] = array();
}
Затем вы можете расширить свой запрос, чтобы исключить все задаваемые вопросы:
$query = 'SELECT * FROM `questions`';
if ($_SESSION['QuestionAsked'])
{
$askedIds = implode(',', $_SESSION['QuestionAsked']);
$query .= sprintf(' WHERE `id` NOT IN (%s)', $askedIds);
}
$query .= ' ORDER BY RAND()';
И, наконец, после запроса нового вопроса, добавьте его в сеанс:
$_SESSION['QuestionAsked'][] = $currentQuestionId;