0

私はクイズを作成しようとしており、次を使用して結果を比較しています。動作しているようで、1 回出力されますが、それだけです。クイズに 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_data_answerquiz cf_id 、 cf_uid 、 cf_created 、 cf_modified 、 cf_ipaddress 、 cf_user_id 、 questionID 、 quizselectanswer 、 quizID 、 userID

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

4

1 に答える 1

2

回答 ID を関連付けていないため、selectanswer=correctanswer 条件を削除すると、4 つの回答が得られます (正しい回答と間違った回答の両方を取得する必要があるため、実際にはこれは望ましくありません)。

$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());

その条件なしで質問IDの外積を取得していました。表示されていた 4 つのレコード (質問 ID が 1 と 2 の場合):

  1. a.questionID=1 および q.questionID=1
  2. a.questionID=1 および q.questionID=2 (これは望ましくありません)
  3. a.questionID=2 および q.questionID=1 (またはこれ)
  4. a.questionID=2 および q.questionID=2
于 2012-11-27T16:31:42.133 に答える