Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: помогите с сайтом тестирования
 
 автор: руслан   (04.06.2005 в 02:03)   письмо автору
 
 

помогите люди добрые! хочу организовать на сайте систему тестирования
создал в 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 ответа.
и как воозможно получить количество правильных ответов

   
 
 автор: glsv (Дизайнер)   (04.06.2005 в 04:44)   письмо автору
 
   для: руслан   (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>, зависящие от идентификатора вопроса.
И вам нужно еще поместить это в форму.

   
 
 автор: руслан   (04.06.2005 в 10:17)   письмо автору
 
   для: 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
но они не передаются- неподскажите почему

   
 
 автор: glsv (Дизайнер)   (06.06.2005 в 04:24)   письмо автору
 
   для: руслан   (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

   
 
 автор: руслан   (06.06.2005 в 09:51)   письмо автору
 
   для: glsv (Дизайнер)   (06.06.2005 в 04:24)
 

да виновать - извиняюсь
но просто один бы как то из базами данных второй с php связан
если вам будет удоьбнне можите удалить тему
в принципе всё что нужно подчеркнул
за что вам и большое спасибо

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования