Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Отобразить из базы запись в формате, *.mht [2]
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Отобразить из базы запись в формате, *.mht

Страниц (2): « 1 [2]
 

16. f0rm4t - 20 Октября, 2006 - 20:14:00 - перейти к сообщению
Хм... имхо написать скрипты с БД будет проще... гораздо проще... имхо...
17. olga90 - 21 Октября, 2006 - 11:05:00 - перейти к сообщению
можно чуть поподробнее
18. valenok - 21 Октября, 2006 - 17:29:20 - перейти к сообщению
В базе делаешь два поля:

1. номер вопроса
2. вопрос
3. ответы
4. правильный ответ

И хранишь чтото такое:
номер вопроса: 1

вопрос:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. Какого цвета были наски у наполеона.
  3. <img src='images/question1.jpg'>
  4.  


ответы:
а. Красные
б. зелёные
в. розовые
г. мокрые

правильный ответ:
3

А пхп должен быть примерно такой:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. // в сессии держать номер вопроса
  4.  
  5. // подключаемся к БД, выбираем базу..
  6.  
  7. // $_SESSION['num'] это на каком вопросе пользователь
  8. if(!isset($_SESSION['num'])) $_SESSION['num'] = 1;
  9.  
  10. // Предположим что таблицу мы назвали questions
  11. // Выстраиваем sql запроси и заодно тут же выполняем..
  12. // num это поле с номером вопроса..
  13. $a76 = mysql_fetch_row(mysql_query("SELECT * FROM `questions` WHERE `num`=".$_SESSION['num']));
  14.  
  15. // $a76['num'] - номер вопроса
  16. // $a76['que'] - текст вопроса
  17. // $a76['ans'] - ответы
  18. // $a76['r'] - номер правильного ответа
  19.  
  20. // Если он попытался ответить
  21. if(isset($_POST['answer'])){
  22.  
  23.   // Если ответил правильно- добавляем один к количеству отвеченных вопросов
  24.   if($_POST['answer']==$a76['r']) $_SESSION['answered']++;
  25.  
  26.   // Переходим к следующему вопросу
  27.   $_SESSION['num']++ж
  28.   header("Location: /index.php");
  29.  
  30. }
  31.  
  32.  
  33.  
  34.  
  35. //Выводим номер вопроса и текст вопроса
  36. echo "<h3>Вопрос номер".$a76['num']."</h3><br>rn".$a76['que'];
  37.  
  38. // Разделяем вопросы
  39. $answers = explode("
  40. ",$a76['ans']);
  41.  
  42. echo "<form method='post'>";
  43.  
  44. // Выводим по отдельности
  45. for($i=0; $i<count($answers); $i++)
  46. echo "<input type='radio' name='answer' value='".($i+1)."'>".$answers[$i];
  47.  
  48. echo "<input type='submit'></form>";
  49.  
  50.  
  51.  


Приближённый вариант..

 

Powered by ExBB FM 1.0 RC1