2016-03-09 9 views
1

Я работаю над страницей викторины, которая берет вопросы из таблицы и сохраняет результат в другой таблице. Он работает отлично. Но я хочу случайные вопросы из таблицы и хранить it.ques [] используется для хранения всех ответы. пожалуйста, помогите мне сделать это. Вот моя страница QuizСлучайные данные из базы данных

Quiz.php

<?php 
error_reporting(E_ALL &~ E_NOTICE &~ E_DEPRECATED); 
$rs=mysql_query("select * from question where testid=$tid order by quesid ",$cn) or die(mysql_error()); 

if($_SESSION[qn]>mysql_num_rows($rs)-1) 
{ 
unset($_SESSION[qn]); 
echo "<h1 class=head1>Some Error Occured</h1>"; 
session_destroy(); 
echo "Please <a href=UserHome.php> Start Again</a>"; 

exit; 
} 
     $n=0; 
     while($row= mysql_fetch_row($rs)){?> 
     <form name="myfm" id="myfm" method="post" action="QuizSub.php"> 
     <table width=100%> <tr> <td width=30><td></td></td></tr> <table border=0> 
     <?php $n=$n+1; ?> 
     <tr><td>Question <?php echo $n.") "; echo $row[2]; ?></td></tr> 
     <tr><td class=style8>A. <input type="radio" name="ques['<?php echo $n; ?>'][]" value=1><?php echo $row[3]; ?></td></tr> 
     <tr><td class=style8>B. <input type="radio" name="ques['<?php echo $n; ?>'][]" value=2><?php echo $row[4];?></td></tr> 
     <tr><td class=style8>C. <input type="radio" name="ques['<?php echo $n; ?>'][]" value=3><?php echo $row[5];?></td></tr> 
     <tr><td class=style8>D. <input type="radio" name="ques['<?php echo $n; ?>'][]" value=4><?php echo $row[6];?></td></tr> 

    <?php 
     } 
     echo "<tr><td><input type=submit name=submit id='result' value='Get Result'></form>"; 
     ?> 
     </table></table> 
     </form> 

Ответ хранения страницы

QuizSub.php

<?php 
    error_reporting(E_ALL &~ E_NOTICE &~ E_DEPRECATED); 
    $query="select * from question"; 

     $rs=mysql_query("select * from question where testid=$tid order by quesid ",$cn) or die(mysql_error()); 
     if($submit=='Get Result') 
     { 
     $_SESSION[trueans]=0; 
     $_SESSION[qn]=0; 


     $ans=array(); 



     $questions = $_POST["ques"]; 
     foreach ($questions as $q) { 
     $_SESSION[qn]=$_SESSION[qn]+1;  
     $ans=$q[0][$i]; 
     $rw=mysql_fetch_row($rs); 
     mysql_query("insert into useranswer(sessid, testid, ques, ans1,ans2,ans3,ans4,correctans,yourans) values ('".session_id()."',  $tid,'$rw[2]','$rw[3]','$rw[4]','$rw[5]', '$rw[6]','$rw[7]','$ans')") or die(mysql_error()); 
    ?> 

Я попытался RAND() для этого, но вопрос и ответ рассогласования ,

$rs=mysql_query("select * from question where testid=$tid order by RAND()",$cn) 

Пожалуйста, помогите мне найти решение .. Thankyou ...

+0

ребята, если у вас есть идея, пожалуйста, поделитесь им –

ответ

2

Pass вопрос, как идентификатор (hidden), и при вставке в ответ страницу, сделать где на основе вопроса ид

mysql_query("insert into useranswer(sessid, testid, ques, 
    ans1,ans2,ans3,ans4,correctans,yourans) values ('".session_id()."', 
    $tid,'$rw[2]','$rw[3]','$rw[4]','$rw[5]', '$rw[6]','$rw[7]','$ans') 
    WHERE quesid = ".$rw['quesid']. ") or die(mysql_error()); 
+1

, вы говорите, что я должен передать идентификатор вопроса, чтобы хранить ответы. –

+0

Да, я говорю только об этом –

Смежные вопросы