|
|
|
| помогите люди добрые! хочу организовать на сайте систему тестирования
создал в mysql 2 базы данных
таблица ответов
ansver_id
question_id
ansver_text
correct (правильный ответ)
----
вопросы
question_id
category_id
test_id
question_text
имеется 1 вопрос и 4 варианта ответов
объсните как лучше на выходе соединить их
чтобы 1 вопрос 4 radiobutton
php mysql так потихоньку учу
и знаю как всё это вывести но свет божий , но как их сгенерировать чтобы 1 вопрос 4 отвевта, 1 вопрос 4 ответа.
и как воозможно получить количество правильных ответов | |
|
|
|
|
|
|
|
для: руслан
(04.06.2005 в 02:03)
| | >но как их сгенерировать чтобы 1 вопрос 4 отвевта, 1 вопрос 4 ответа.
Вы хотите все их вывести одновременно?
Как называются таблицы? Предположим questions и ansvers.
<?
// Запрашиваем все вопросы
$query="SELECT * FROM questions";
$res=mysql_query($query);
if (!$res)
{
echo "Ошибка 1";
exit();
}
// Пробегаем в цикле по всем вопросам
while ( $quest=mysql_fetch_array($res))
{
// Отображаем вопрос
echo "<h3>".$quest ["question_text"]."</h3>";
// Для каждого вопроса запрашиваем список ответов
$query_answ="SELECT * FROM ansvers
WHERE question_id=".$quest["question_id"];
$res_answ=mysql_query($query_answ);
if (!$res_answ)
{
echo "Ошибка 2";
exit();
}
while ( $answ=mysql_fetch_array($res_answ))
{
// Отображаем ответы
$name="a_".$quest["question_id"];
echo "<input type=radio name=$name value='".$answ["ansver_id"]."'>
$answ["ansver_text"]<br>";
}
}
?>
|
Строка
$name="a_".$quest["question_id"];
|
формирует имена элементов <input type=radio>, зависящие от идентификатора вопроса.
И вам нужно еще поместить это в форму. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(04.06.2005 в 04:44)
| | дизайнеру
могу вопрос тебе не мог бы помочь ещё немного
в последней строчке лучше было бы вот так
echo "<input type=\"radio\" name=\"$name\" value=\"" . $answ["ansver_id"] . "\"> " . $answ["ansver_text"] ."<br>";
но это не вопрос :)
вопрос в отправке формы, пытался отправить данные postom
на страницу result.php
(в которой есть строчка типа echo $_POST['name']; - это просто чтобы посмотреть что передалось чисто для себя )
чтобы посмотреть ansver_id которые он ответил и сравнить их с полем correct в котором правильный ответ помечается 1
но они не передаются- неподскажите почему | |
|
|
|
|
|
|
|
для: руслан
(04.06.2005 в 10:17)
| | > в которой есть строчка типа echo $_POST['name'];
А разве у вас есть поле с именем name в форме?
> но они не передаются- неподскажите почему
Как вам и посоветовал cheops нужно вывести содержимое массива $_POST и посмотреть точно что передается, а что нет.
<?php
echo "<pre>";
print_r($_POST);
echo "</pre>";
?>
|
Или приведите точный код, который формирует форму и код файла result.php, т.к. без них обсуждение получается вслепую.
PS: Зря вы 2 темы начали. Не знаешь в какой отвечать
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4480&page=1 | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(06.06.2005 в 04:24)
| | да виновать - извиняюсь
но просто один бы как то из базами данных второй с php связан
если вам будет удоьбнне можите удалить тему
в принципе всё что нужно подчеркнул
за что вам и большое спасибо | |
|
|
|