Как создать новый тест каждый раз, когда страница обновляется?

0

Я создаю веб-сайт, и у него будет опрос, в которой будут несколько вопросов с множественным выбором, и я хочу знать, есть ли способ, которым я могу просто составить список из нескольких вопросов, и каждый раз, когда кто-то нажимает "принимать Test ", он генерирует новую викторину с набором всех вопросов? Также я хочу убедиться, что я не использую один и тот же вопрос более одного раза? Как я могу это сделать? Имейте в виду, что я не продвинутый веб-разработчик или что-то еще, поэтому, если бы вы, пожалуйста, держите ответы ясными и краткими. В любом случае, что я планировал делать и делал в течение последних нескольких недель, я использую функцию PHP rand и просто делаю набор из нескольких квестов, и всякий раз, когда страница обновляется, он выбирает число между (1,15) и я создавал викторину для каждого номера с идентификатором 1,2,3 и т.д., но это большая работа, и я чувствую, что есть лучший и гораздо более простой способ сделать это.

Скажите, пожалуйста, если есть более простой способ сделать это (использование PHP тоже будет приятным). Спасибо!

  • 2
    Поместите вопросы (или некоторый идентификатор) в массив, перетасуйте массив и возьмите первые n элементов.
Теги:
random

1 ответ

0

Предположим, у вас есть таблица вопросов, что вы хотите сделать, это выбрать все идентификаторы из таблицы и сохранить их в переменной под названием $ AllQuestionIds, поэтому переменная должна выглядеть так,

$AllQuestionIds = [
    [0] => ['id' => 1],
    [1] => ['id' => 2],
    [2] => ['id' => 3]
]

Затем, когда вы запускаете shuffle на $ AllQuestionIds, ваш массив должен выглядеть так,

$AllQuestionIds = [
    [0] => ['id' => 2],
    [1] => ['id' => 3],
    [2] => ['id' => 1]
]

Впоследствии, для оставшейся части теста, вы захотите сохранить этот массив в сеансе, а затем, когда пользователи нажмут следующий вопрос, вытащите следующий id из массива, извлеките вопрос и покажите его.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню