2015-06-18 137 views
-1

這是MCQ考試代碼。因爲$ p3 [8],代碼中的所有內容都在工作,我沒有得到所需的輸出。它也無法打印$ p3 [8]值。無法打印值

<?php 

session_start(); 
error_reporting(1); 
include("connect.php"); 

extract($_POST); 
extract($_GET); 
extract($_SESSION); 
$username = $_SESSION['student']; 

if(isset($testid)) 
{ 
    //$_SESSION[sid]=$subid; 
    //echo 'sads'; 

    $_SESSION['tid']=$testid; 
    header("location:test.php"); 
} 
if(!isset($_SESSION['tid'])) 
{//echo 'qwerwq'; 
    header("location:home.php"); 
} 
?> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<meta http-equiv="X-UA-Compatible" content="IE=edge"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 


     <title>Online Exam</title> 
     <link href="quiz.css" rel="stylesheet" type="text/css"> 
    </head> 

<body> 
<?php 
include("head.php"); 



$rs=mysqli_query($con, "select * from addmcq where test_id=$tid",$cn); 

$r = mysqli_num_rows($rs); 

if($r==0) 
{ 
    //header("location:test2.php"); 
} 
if(!isset($_SESSION['qn'])) 
{ 
$_SESSION['qn']=0; 
mysqli_query($con, "delete from mcq_user where sess_id='$username' and test_id=$tid") or die(mysql_error()); 
$_SESSION['trueans']=0; 

} 
else 
{ 
if($submit=='Next MCQ' && isset($ans)) 
{ 
    mysqli_data_seek($rs,$_SESSION['qn']); 
    $row= mysqli_fetch_row($rs); 
    mysqli_query($con, "delete from mcq_user where sess_id='$username', test_id=$tid and ques=$row[3]"); 
    echo "ww"; 
    mysqli_query($con, "insert into mcq_user(sess_id, test_id, que, ans1,ans2,ans3,ans4,true_ans,your_ans) values ('$username', $tid,'$row[3]','$row[4]','$row[5]','$row[6]', '$row[7]','$row[8]','$ans')") or die(mysql_error()); 

    if($ans==$row[8]) 
    { 
     $_SESSION['trueans']=$_SESSION['trueans']+1; 
    } 
    $_SESSION['qn']=$_SESSION['qn']+1; 

} 
else if($submit=='Next EA' && isset($ans)) 
{ 
    mysqli_data_seek($rs,$_SESSION['qn']); 
    $row= mysqli_fetch_row($rs); 
    mysqli_query($con, "delete from mcq_user where sess_id='$username', test_id=$tid and ques=$row[3]");   
    mysqli_query($con, "insert into mcq_user(sess_id, test_id, que, ans1,ans2,ans3,ans4,true_ans,your_ans) values ('$username', $tid,'$row[3]','$row[4]','$row[5]','$row[6]', '$row[7]','$row[8]','$ans')") or die(mysql_error()); 

    if($ans==$row[8]) 
    { 
     $_SESSION['trueans']=$_SESSION['trueans']+1; 
     // echo $_SESSION['trueans']; 
    } 

    //echo "<h1 class=head1> Result</h1>"; 
    $_SESSION['qn']=$_SESSION['qn']+1; 

    //$_SESSION['trueans']; 
    header("location:test2.php");    
    //echo '<br />Start short answer type questions<a href="test2.php">click here</a>'; 

} 
else if($submit=='Previous MCQ' && isset($ans)) 
{ 
    mysqli_data_seek($rs,$_SESSION['qn']); 
    $row= mysqli_fetch_row($rs);  
    mysqli_query($con, "insert into mcq_user(sess_id, test_id, que, ans1,ans2,ans3,ans4,true_ans,your_ans) values ('$username', $tid,'$row[3]','$row[4]','$row[5]','$row[6]', '$row[7]','$row[8]','$ans')") or die(mysql_error()); 

    if($ans==$row[8]) 
    { 
     $_SESSION['trueans']=$_SESSION['trueans']+1; 
    } 
    $_SESSION['qn']=$_SESSION['qn']-1; 

} 


} 

主要問題從這裏P2 $開始也沒有打印值

$rs=mysqli_query($con, "select * from addmcq where test_id=$tid",$cn) or die(mysql_error()); 
$r = mysqli_num_rows($rs); 

$p1= mysqli_query($con, "select * from mcq_user where test_id=$tid and sess_id=$username"); 
$p2 = mysqli_num_rows($p1); 
//echo "qqqqq"; 
echo $p2; 
if($r==0) 
{ 
    header("location:test2.php"); 
} 
if($_SESSION['qn']>mysqli_num_rows($rs)-1) 
{ 
//unset($_SESSION[qn]); 
//echo "<h1 class=head1>Some Error Occured</h1>"; 
//session_destroy(); 
//echo "Please <a href=head.php> Start Again</a>"; 
exit; 
} 
mysqli_data_seek($rs,$_SESSION['qn']); 
mysqli_data_seek($p1,$_SESSION['qn']); 
echo $_SESSION['qn']; 

$row= mysqli_fetch_row($rs); 

$ P3初始化並顯示它來檢查。

$p3= mysqli_fetch_row($p1); 
echo $p3[8]; 

//include("tt.html"); 
echo "<form name=myfm method=post action=test.php>"; 
echo "<table width=100%> <tr> <td width=30>&nbsp;<td> <table border=0>"; 
$n=$_SESSION['qn']+1; 
echo "<tr><td><span class=style2>Que ". $n .": $row[3]</style>"; 
echo "<tr><td class=style8><input "; 
if($p3[8]==1) echo "checked='checked'"; 
echo " type=radio name=ans value=1>$row[4]"; 
echo "<tr><td class=style8> <input "; 
if($p3[8]==2) echo "checked='checked'"; 
echo" type=radio name=ans value=2>$row[5]"; 
echo "<tr><td class=style8><input "; 
if($p3[8]==3) echo "checked='checked'"; 
echo" type=radio name=ans value=3>$row[6]"; 
echo "<tr><td class=style8><input "; 
if($p3[8]==4) echo "checked='checked'"; 
echo" type=radio name=ans value=4>$row[7]"; 
if($n == 1) 
echo "<tr><td><input type=submit name=submit value='Next MCQ'><td><tr></form>"; 
if($_SESSION['qn']<mysqli_num_rows($rs)-1 && $n > 1) 
echo "<tr><td><input type=submit name=submit value='Previous MCQ'><input type=submit name=submit value='Next MCQ'><td><tr></form>"; 
if($_SESSION['qn']== mysqli_num_rows($rs)-1) 
echo "<tr><td><input type=submit name=submit value='Previous MCQ'><input type=submit name=submit value='Next EA'><td><tr></form>"; 
echo "</table></table>"; 


?> 

</body> 
</html> 
+0

$ p3 = mysqli_fetch_row($ p1); mysqli_fetch_row需要編號,你正在給一個mysql的obj .. –

+0

然後爲什麼$ row = mysqli_fetch_row($ rs);正在執行? –

+0

對不起,我很困惑這個..你是正確的.. –

回答

-1

確保該查詢

$p1= mysqli_query($con, "select * from mcq_user where test_id=$tid and sess_id=$username"); 

將返回它由ATLEAST 8列的紀錄......

一件事

如果$username比你的字符串應該在其周圍使用單引號

$p1= mysqli_query($con, "select * from mcq_user where test_id=$tid and sess_id='$username'");