【发布时间】:2012-11-15 07:21:15
【问题描述】:
我正在尝试进行测验并使用以下内容来比较结果,它似乎可以工作并输出一次,但仅此而已,即使有两个问题,我也没有处理更多记录测验,所以它应该输出正确,正确或正确,不正确等。
<?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、问题格式、正确答案
【问题讨论】:
-
您在查询和 php 中复制逻辑...查询只会返回正确的答案,然后您检查答案是否在 php 中正确。例如您的 php 永远不会显示“不正确”,因为只会返回正确的记录。
-
即使我删除了 IF 语句,我仍然只能得到一行
-
不,您应该从查询中删除
a.quizselectanswer = q.correctanswer部分,这样您就会得到正确和错误的答案。 -
你能不能把这个查询运行到mysql数据库中,看看你得到了多少结果
-
如果我删除 a.quizselectanswer = q.correctanswer,我会得到 INCORRECT INCORRECT INCORRECT CORRECT,但只有两条记录...... :-S
标签: php mysql join while-loop