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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Обучающий Тест

Сообщения:  [1-4] 

 
 автор: lilu   (19.10.2007 в 14:11)   письмо автору
 
   для: Саша   (19.10.2007 в 11:40)
 

Вот так я добилась чтобы выводились 5 вопросов случайно выбранных :

<? for($i=1$i<=5$i++){
    
$query=mysql_query("select * from  test_v    where id_pr='1'",$db);
    
$count=mysql_num_rows($query);
//echo $count."<br>";
     
$rnd=rand(1,$count);
//echo $rnd;
     

     
$q=mysql_query("select * from  test_v    where id_pr='1' AND id_tv=".$rnd."",$db);
    
//$count=($q);
       
if(!$q) {echo "error";} 
        echo 
"<table width='300' border='1'>";
        while(
$tmp1 mysql_fetch_array($q)) 
         {   
              echo 
"<tr><td><font color='red'>вопрос: </font>".$tmp1['name_tv']."</br></tr></td>";
              
$q_otv=mysql_query("select * from  test_otv  where id_tv=".$rnd."",$db);
               while(
$tmp2 mysql_fetch_array($q_otv)) 
                    {
              echo 
"<tr><td><input type='checkbox' name='t_otv' value=".$tmp2['name_to'].">".$tmp2['name_to']."</br></tr></td>";
                    }
          echo 
"<tr><td><input type='submit' name='next' value='продолжить".$i."'></td></tr>";    
               
         } 
         echo 
"</table>";
         }
//for
       
?>    

А вот как сделать чтобы на экране появлялись не все 5 а по одному вопросу, след.-ий вопрос должен появиться после нажатия кнопки продолжить...?

   
 
 автор: Саша   (19.10.2007 в 11:40)   письмо автору
 
   для: lilu   (18.10.2007 в 15:10)
 

при запросе к базе можно использовать конструкцию


select * from tbl order by rand;

   
 
 автор: vidok   (19.10.2007 в 10:51)   письмо автору
 
   для: lilu   (18.10.2007 в 15:10)
 

У меня была похожая проблема. Достаешь все вопросы из базы. Потом shuffle($массив свопросами). И выводи первых пять, все равно они перемешены. Вот и достигнута хаотичность.

   
 
 автор: lilu   (18.10.2007 в 15:10)   письмо автору
 
 

По производственной необходимости необходимо написать обучающий тест.
Прочитав многие темы на форуме и покопавшись в нете, решила начать сама. Но т.к. я в этой совсем чайник - нужна помощь...
Сперва я составила две таблицы, одну с вопросами, другую с ответами, вот их структуры
таблица test_vopr
id_v тип int (3)
name_v тип varchar(250)

и таблицу test_otvet
id_ot тип int(3)
id_v тип int (3)
name_ot тип varchar(250)
correct тип int(1) -- значение 1 для правильного ответа, значение 0 - для всех остальных

и вывела их всех на страницу

<?
$q
=mysql_query("select * from  test_v ",$db);
       if(!
$q) {echo "error";} 
        echo 
"<table width='300' border='1'>";
        while(
$tmp1 mysql_fetch_array($q)) 
         {  echo 
"<tr><td><font color='red'>вопрос: </font>".$tmp1['name_tv']."</br></tr></td>";
             
$q_otv=mysql_query("select * from  test_otv  where id_tv=".$tmp1['id_tv']."",$db);
               while(
$tmp2 mysql_fetch_array($q_otv)) 
                    {
  echo 
"<tr><td><input type='checkbox' name='t_otv' value=".$tmp2'name_to'].">".$tmp2'name_to']."</br></tr></td>";
}
                                       } 
        echo 
"<tr><td><input type='submit' name='next' value='продолжить'></td></tr>";    
      echo 
"</table>";

       
?>    


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

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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