Mick_20
Новичок
Начал писать онлайн тест и застрял. Нужна помощь.
ТЗ:
- данные в БД
- вопросы выводятся постранично
- у каждого вопроса два ответа (все ответы уникальны. вопросы типа - выберите одно из утверждений)
- в конце вывести на какой вопрос какой дан ответ
Что написал:
Первый вопрос вывелся без проблем. Все id вопросов в массиве в сессии есть.
Теперь не могу понять как проверить что ответ выбран и самое главное увеличить счетчи чтобы вывести второй вопрос.
ТЗ:
- данные в БД
- вопросы выводятся постранично
- у каждого вопроса два ответа (все ответы уникальны. вопросы типа - выберите одно из утверждений)
- в конце вывести на какой вопрос какой дан ответ
Что написал:
PHP:
session_start();
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('id');
$query->from('#__aaa_online_tests_questions');
$query->where("test_id = '1'");
$query->group("id");
$db->setQuery($query) or die("запрос1 не сработал");
$data = $db->loadObjectList();
$a=0;
foreach ($data as $var)
{
$a++;
$_Session[$a] = $var->id; //засунул в массив сессии все id вопросов текущего теста
$end_id = $_Session[$a]; //id последнего вопроса
}
$count=$_Session['1']; //ставим счетчик на первый вопрос
echo 'Вопрос №'.$count.': ';
$query = $db->getQuery(true);
$query->select('question,A,B');
$query->from('#__aaa_online_tests_questions');
$query->where("id = {$count}");
$db->setQuery($query) or die("запрос1 не сработал");
$data = $db->loadAssoc();
$q = $data['question'];
$a = $data['A'];
$b = $data['B'];
?>
HTML:
<form action="#" method="POST">
<h2><?php echo $q; ?></h2>
<p><input type="radio" name="answer<?php echo $count; ?>" value="a">A) <?php echo $a;?></p>
<p><input type="radio" name="answer<?php echo $count; ?>" value="b">B) <?php echo $b;?></p>
<p><input type="submit" name="next" value="Далее"></p>
<?php if($count == $end_id) {echo "<p>Завершить тест</p>";} ?>
</form>
PHP:
<?php
if (isset($_POST['next'])) //ЕСЛИ НАЖАТА КНОПКА "ДАЛЕЕ"
{
}
Теперь не могу понять как проверить что ответ выбран и самое главное увеличить счетчи чтобы вывести второй вопрос.