Вывод нескольких рандомных элементов массива php по одному (а не сразу все) + кликабельные варианты

Хомяк

Новичок
Есть php код, который из 5-ти элементов выбирает три. Но выводит на экран сразу все три элемента, а варианты выводит списком. Хотелось бы, чтобы каждый вопрос выводился отдельно: то есть выбирается первый рандомный появляется на экране, пользователь выбирает один вариант ответа и переходит к следующему.

Так вот, как сделать такой повопросный вывод и кликабельные варианты ответов?


PHP:
<?PHP
$arStrings = array(
    array('question' => 'Вопрос 1', 'answers' => array('Ответ 1', 'Ответ 2', 'Ответ 3'), 'right' => 0),
    array('question' => 'Вопрос 2', 'answers' => array('Ответ 1', 'Ответ 2', 'Ответ 3'), 'right' => 2),
    array('question' => 'Вопрос 3', 'answers' => array('Ответ 1', 'Ответ 2', 'Ответ 3'), 'right' => 1),
    array('question' => 'Вопрос 4', 'answers' => array('Ответ 1', 'Ответ 2', 'Ответ 3'), 'right' => 2),
    array('question' => 'Вопрос 5', 'answers' => array('Ответ 1', 'Ответ 2', 'Ответ 3'), 'right' => 0),
);
$arUsed = array();
 
for($i = 0; $i < 3; $i++) {
    do
    {
        $id = rand(0, count($arStrings)-1);
    } while(in_array($id, $arUsed));
    $arUsed[] = $id;
 
    ?>
    <h2>Очередной вопрос: <?PHP echo $arStrings[$id]['question']; ?></h2>
    <p>Варианты ответов:</p>
    <ul>
        <?PHP for($j = 0; $j < count($arStrings[$id]['answers']); $j++) { ?>
        <li <?PHP if($arStrings[$id]['right'] == $j) echo 'class="right"'; ?>><?PHP echo $arStrings[$id]['answers'][$j]; ?></li>
        <?PHP } ?>
    </ul>
    <?PHP
}
?>
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Написать код. Вместо трех, как сейчас - выбирать один вариант, потом в сессию записать id выбранного вопроса и вариант ответа. Далее опять выбрать один вариант и вывести. Что именно не понятно?
 

Хомяк

Новичок
Написать код. Вместо трех, как сейчас - выбирать один вариант, потом в сессию записать id выбранного вопроса и вариант ответа. Далее опять выбрать один вариант и вывести. Что именно не понятно?
Новое
Не очень понятно, как реализовать это в cms
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@Хомяк, совершенно так же, как и не в cms. В чем конкретно сложность?
 
Сверху