Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> тест на php, вопросы и ответы с в случайном порядке 
:(
    Опции темы
Lely
Дата 14.6.2009, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 5.9.2007

Репутация: нет
Всего: нет



Всем доброго времени суток smile
Пишу тест на пхп...сейчас пока написала тока, чтоб вопросы с их ответами выводились из базы...без повторений...храню айдишники вопросов в сессии...а хочу сделать, чтобы вопросы и ответы в случайном порядке выводились...помогите пожалуйста словом или деломsmile))
вот код...только там еще совсем не думала над регистрированием ответов тестируемого...так что не судите строго

Код

<?
   include_once("config.php");
   $r="SELECT * FROM TESTS WHERE ID='".$_GET['test_id']."'";
   $result = mysql_query($r) or die("Query failed : " . mysql_error());
   while ($line = mysql_fetch_array($result))
   {
      $test_name=$line['NAME'];
      $test_size=$line['KOL_Q'];
      $test_long=$line['LONG'];
   }
   $res_quest="SELECT * FROM QUESTIONS WHERE TEST_ID='".$_GET['test_id']."'";
   //die($res_quest);
   $res_q = mysql_query($res_quest) or die("Query failed : " . mysql_error());
   while ($line_q = mysql_fetch_array($res_q))
   {
      if (isset($_SESSION['quest']))
      {
         $flag=0;
         for ($i=0; $i<sizeof($_SESSION['quest']); $i++)
         {
            if ($line_q['ID']==$_SESSION['quest'][$i])
            {
               $flag--;
            }
         }
         if ($flag<0)
         {
            continue;
         }
         else
         {
            $quest_id=$line_q['ID'];
            $quest_type=$line_q['TYPE'];
            $quest_size=$line_q['KOL_A'];
            $_SESSION['quest'][$_GET['q_id']]=$quest_id;
         }
      }
      else
      {
         $quest_id=$line_q['ID'];
         $quest_type=$line_q['TYPE'];
         $quest_size=$line_q['KOL_A'];
         $_SESSION['quest'][$_GET['q_id']]=$quest_id;
      }
   }
   $src_quest="questions/".$quest_id."/index.htm";   
?>


и вот на всякий случай htm в который все это сливается...

Код

<form method="post" action="my_test.php">
<input type="hidden" name="test_id" value="<?=$_GET['test_id'];?>"/>
<?include('test_load.php');?>
                      <table width="700" border="0" cellpadding="0" cellspacing="0">
                        <tbody>
                          <tr>
                            <td width="900" valign="center" align="center">
                              <p class="main">Тест "<?=$test_name;?>"</p>
                              <hr/>
                            </td>
                          </tr>
                          <tr>
                            <td width="700" valign="center" align="left">
                              <p class="log">вопрос <?=($_GET['q_id']+1);?> из <?=$test_size;?></p>
                            </td>
                          </tr>
                          <tr>
                            <td width="700" valign="top" align="right" height="60">
                              <p class="log">осталось времени: <?=$test_long;?> мин.</p>
                            </td>
                          </tr>
                          <tr>
                            <td width="700" valign="center" align="center">
                              <?include($src_quest);?>
                            </td>
                          </tr>
                          <tr>
                            <td>
                              <table width="700" border="0" cellpadding="0" cellspacing="0" align="center">
                                <tbody>
                                  <?
   $res_ans="SELECT * FROM ANSWERS WHERE QUESTION_ID='".$quest_id."'";
   //die($res_ans);
   $res_a = mysql_query($res_ans) or die("Query failed : " . mysql_error());
   while ($line_a = mysql_fetch_array($res_a))
   {
      $src_ans="answers/".$line_a['ID']."/ans.htm";
      if ($quest_type==1)
      {?>
         <input type="radio" name="radio_name" value="1">
         <?include($src_ans);?><br/>
    <?}
      if ($quest_type==2)
      {?>
         <input type="checkbox" name="var[]" value="yes">
         <?include($src_ans);?><br/>
    <?}
      if ($quest_type==3)
      {?>
         <?include($src_ans);?><br/>
    <?}
   }
                                  ?>
                                </tbody>
                              </table>
                            </td>
                          </tr>
                        </tbody>
                      </table>


а еще хотела спросить как сделать чтобы на страничке показывалось сколько времени осталось, если известно сколько его вообще отводится на тест...
и почему у меня выводится ошибка когда F5 нажимаешь на последнем в тесте вопросе...пишет "Undefined variable: quest_id"...а на всех остальных вопросах так не делает...

всем заранее спасибо за помощь smile  
PM   Вверх
nerezus
Дата 14.6.2009, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



всять все вопросы, перемешать и взять первые N штук.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
bazzjr
Дата 15.6.2009, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 27.12.2007
Где: Россия, Пермь

Репутация: 4
Всего: 6



Цитата(Lely @  14.6.2009,  10:26 Найти цитируемый пост)
как сделать чтобы на страничке показывалось сколько времени осталось


Насчет времени, я писал уже, посмотреть можно тут.

Насчет ошибки, сложно сказать почему она появляется. Нужно больше информации.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0437 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.