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 :: Версия для печати :: Подскажите пожалуйста...
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » Подскажите пожалуйста...

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

1. zizi_top - 22 Октября, 2009 - 08:00:19 - перейти к сообщению
Делаю программу для проведения тестов...
Существует база данных:
id|текст вопроса|вариант ответа 1|вариант ответа 2|вариант ответа 3|вариант ответа 4|правильный вариант(в виде цифры правильного варианта ответа например 3)

Из баззы данных беру строку и подставляю
текст вопроса и варианты ответа в "радио группу"..

Пользователь должен выбрать вариант ответа который он считает правильным, один из 4.
Подскажите пожалуйста как теперь мне теперь сделать проверку, соответствует ли выбор пользователя тому, что записано у меня в БД и как потом мне это записать в БД (другую) чтобы после теста можно было просмотреть статистику ответов?

P.S. Заранее спасибо и если можно объясните по подробнее...=)
2. Viper - 22 Октября, 2009 - 13:07:40 - перейти к сообщению
то что приезжает у вас в $_POST['radio_name'] сравниваете с значениями из БД. только вопрос в том зачем вам radio group если делается это с помощью checkbox'ов ??
3. zizi_top - 22 Октября, 2009 - 13:25:34 - перейти к сообщению
Viper пишет:
только вопрос в том зачем вам radio group если делается это с помощью checkbox'ов ??


я просто думал что при помощи радио бутонов, это было бы проще организовать...
4. Viper - 22 Октября, 2009 - 13:39:38 - перейти к сообщению
zizi_top пишет:
я просто думал что при помощи радио бутонов, это было бы проще организовать...


не легче, и не правильно. так вам тулить на каждый вопрос по радиокнопке, а так вы можете список вопросов и чекбоксы. затем просто перебрав массив из $_POST сравнить с значениями из бд и готово.

нечто вида
PHP:
скопировать код в буфер обмена
  1. if (in_array($_POST['checkbox_name'], $array_from_bd)) {
  2. ...
  3. } else ...
5. zizi_top - 22 Октября, 2009 - 14:32:07 - перейти к сообщению
CODE (text):
скопировать код в буфер обмена
  1. <?php
  2. include ("blocks/bd.php"); /*Соединяемся с базой*/
  3.  
  4. $result = mysql_query("SELECT * FROM tabl_1 order by rand() LIMIT 1",$db);
  5. $myrow = mysql_fetch_array($result);
  6. ?>
  7.  
  8.  
  9. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  10. <html>
  11. <head>
  12. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  13. <title>Вопрос №1</title>
  14. <link href="admin/style.css" rel="stylesheet" type="text/css">
  15. </head>
  16. <body>
  17. <table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">
  18. <!--Подключаем шапку сайта-->
  19. <? include("blocks/header.php");   ?>
  20.   <tr>
  21.     <td><table width="690" border="0" cellspacing="0" cellpadding="0">
  22.       <tr>
  23. <!--Подключаем левый блок сайта-->
  24. <? include ("blocks/lefttd.php");  ?>      
  25.         <td valign="top">
  26.                  <table width="93%" border="0" cellspacing="0" cellpadding="0">
  27.   <tr>
  28.     <th scope="col"><p class="view_title">Вопрос №1</p></th>
  29.   </tr>
  30.   <tr>
  31.     <td><p><?php echo $myrow['question']; ?></p></td>
  32.   </tr>
  33.   <tr>
  34.     <td>
  35.         <form name="form1" method="post" action="">
  36.             <table width="200" align="center">
  37.               <tr>
  38.                 <td><label>
  39.                   <input type="radio" name="Радиогруппа1" value="answer1">
  40.                   <?php echo $myrow['answer1']; ?></label></td>
  41.               </tr>
  42.               <tr>
  43.                 <td><label>
  44.                   <input type="radio" name="Радиогруппа1" value="answer2">
  45.                   <?php echo $myrow['answer2']; ?></label></td>
  46.               </tr>
  47.               <tr>
  48.                 <td><label>
  49.                   <input type="radio" name="Радиогруппа1" value="answer3">
  50.                   <?php echo $myrow['answer3']; ?></label></td>
  51.               </tr>
  52.               <tr>
  53.                 <td><label>
  54.                   <input type="radio" name="Радиогруппа1" value="answer4">
  55.                   <?php echo $myrow['answer4']; ?></label></td>
  56.               </tr>
  57.                        
  58.             </table>
  59.                          
  60.            <label>
  61.            <h1 align="center"> <input type="submit" name="Submit" value="Подтвердить"></h1>
  62.                         </label>
  63.            
  64.           </form>                
  65.                    </td>
  66.   </tr>
  67. </table>
  68.  
  69.                
  70.        
  71.          
  72.          
  73.  <td valign="top">
  74.        
  75.        
  76.        
  77.          
  78.                
  79.                  
  80.      
  81.           </td>
  82.       </tr>
  83.     </table></td>
  84.   </tr>
  85. <!--Подключаем нижний графический элемент-->  
  86. <?  include ("blocks/footer.php");        ?>  
  87. </table>
  88. </body>
  89. </html>




У меня вот так сделано... теперь суда только проверку добавить и запись в БД

 

Powered by ExBB FM 1.0 RC1