2012-11-27 32 views
0

我試圖做一個測驗,現在用的是下面的比較結果,似乎馬上開始工作和輸出,但是這一切都發生了,我沒有得到任何更多的記錄處理即使有在測驗2個問題,所以應該輸出正確的,正確或不正確,不正確等加入+雖然僅環輸出一個結果

  <?php 
    // Make a MySQL Connection 
    // Construct our join query 
    $query = "SELECT * FROM itsnb_chronoforms_data_answerquiz a, itsnb_chronoforms_data_createquestions 
    q WHERE a.quizID='$quizID' AND a.userID='$userID' and q.quizID=a.quizID and 
    a.quizselectanswer = q.correctanswer" or die("MySQL ERROR: ".mysql_error()); 

    $result = mysql_query($query) or die(mysql_error()); 


    // Print out the contents of each row into a table 
    while($row = mysql_fetch_array($result)){ 
     if ($row['correctanswer'] == $row['quizselectanswer']){ 
      echo 'CORRECT';} 
      else { echo 'INCORRECT'; 
      } 

     echo "<br />"; 
    } 
    ?> 

編輯>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

表結構如下>>

itsnb_chronoforms_dat a_answerquiz CF_ID,cf_uid,cf_created,cf_modified,cf_ipaddress,cf_user_id,questionID,quizselectanswer,quizID,用戶ID

itsnb_chronoforms_data_createquestions CF_ID,cf_uid,cf_created,cf_modified,cf_ipaddress,cf_user_id,quizID,questionID,quizquestion,quizanswer1,quizanswer2,quizanswer3 ,quizanswer4,questionformat,correctanswer

+0

你複製邏輯和PHP ...查詢只返回正確的答案,那麼你檢查的答案是在PHP正確。例如你的php永遠不會顯示'不正確',因爲只有正確的記錄纔會被返回。 –

+0

即使我刪除IF語句我仍然只得到一個行過 –

+0

沒有,你應該去掉'a.quizselectanswer = q.correctanswer'部分從查詢,所以你會得到正確和不正確的答案。 –

回答

2

當您移除selectanswer = correctanswer條件(這實際上不是您想要的,因爲您想要獲取正確和不正確的答案),您會得到四個答案,因爲您不涉及答案IDS。

$query = "SELECT * FROM itsnb_chronoforms_data_answerquiz a, itsnb_chronoforms_data_createquestions 
q WHERE a.quizID='$quizID' AND a.userID='$userID' and q.quizID=a.quizID and 
a.quizselectanswer = q.correctanswer" or die("MySQL ERROR: ".mysql_error()); 

應該是:

$query = "SELECT * FROM itsnb_chronoforms_data_answerquiz a, itsnb_chronoforms_data_createquestions 
q WHERE a.quizID='$quizID' AND a.userID='$userID' and q.quizID=a.quizID and 
a.questionID = q.questionID" or die("MySQL ERROR: ".mysql_error()); 

你都拿到questionIDs的交叉產品沒有這種條件。四個記錄你看到的是(如果questionIDs是1和2):

  1. a.questionID = 1和q.questionID = 1
  2. a.questionID = 1和q.questionID = 2(唐「T希望此)
  3. a.questionID = 2和q.questionID = 1(或此)
  4. 在查詢a.questionID = 2和q.questionID = 2
+0

感謝您的幫助,已經定了! :-) –