2013-01-21 47 views
0

在我的測驗系統中,我嘗試着實際製作頁面的問題,但是當我嘗試向頁面顯示問題行和答案行時,它什麼也沒有顯示。試圖從MySQL加載問題和答案什麼都沒有顯示

<?php 
    $q_qselect = mysql_query("SELECT * FROM `questions`"); 
    $q_qnumrows = mysql_num_rows($q_select); 
    for($i=0;$i<$q_qnumrows;$i++){ 

     $q_qselect = mysql_query("SELECT * FROM `questions` WHERE `id`='$i'"); 
     $q_aselect = mysql_query("SELECT * FROM `answers` WHERE `question_id`='$i'"); 

     $q = mysql_fetch_assoc($q_qselect); 
     $a = mysql_fetch_assoc($q_aselect); 

     echo $q['question'] . "<br />"; 
     echo $a['answer'] . "<br />"; 
    } 
?> 

另外,另一個問題 - 我怎麼才能真正檢查他選擇了正確的答案? (每個答案附近的單選按鈕)何時答案表中的字段爲correct

+0

[**請不要在新的代碼中使用'mysql_ *'功能**](http://bit.ly/phpmsql)。他們不再被維護[並被正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 –

+0

但我習慣了這個..使用mysql_ *有什麼問題?你能幫我解答我的問題先生嗎? –

+0

推理可以在他評論中提供的教程中找到。 –

回答

0
<?php 
$question = mysql_query("SELECT questions.*, answers.* FROM questions inner join answers on questions.qid=answers.id"); 

    while($row = mysql_fetch_array($question)) { 
    echo $row['question_column_name_in_DB'].'<br />' .$row['answer_column_name_in_DB'].'<br />'; 
} 

?> 

將列名更改爲相應的名稱。一旦你得到這個工作,請考慮PDO。

+0

仍然什麼也沒有顯示。 –

+0

你怎麼調用這個php文件?從另一個PHP文件?如果是的話,你還記得包括這個文件嗎? –

+0

exam.php,我不包括它從其他文件。 –

0

您可以通過嘗試像下面....

<?php 

    $query_result = mysql_query("SELECT questions.*, answers.* FROM questions LEFT JOIN answers on questions.id=answers.`question_id`"); 

    while($row = mysql_fetch_array($query_result)) { 
    echo $row ['question'] . "<br />"; 
    echo $row ['answer'] . "<br />"; 
    } 

?>