2014-04-09 29 views
0

我想做一個測驗形式,顯示問題和從我的數據庫中取得的3個答案。當我運行循環時,它會顯示所有問題,並用單選按鈕正確回答選擇,但是當我單擊問題1答案「b」時,然後單擊問題2答案「c」單選按鈕取消單擊問題1的答案「b」並突出顯示問題2的答案「c」;爲什麼我的單選按鈕重疊?

Answering question 1    Trying to answer question 2 after answering question 1 
1. What is your name?     1. What is you name? 
    ()John         ()John 
    (*)Jake        ()Jake <--un-clicked 
    ()Joe         ()Joe 
2. Where are you from?     2. Where are you from? 
    ()San Antonio       ()San Antonio 
    ()Austin        ()Austin 
    ()New York        (*)New York 

如果您發現問題1,回答問題2時回答將被刪除。 這是我的代碼,它從數據庫中檢索數據並顯示它。

$mysql = "SELECT * FROM $table WHERE $table.quiz_name = '$name'"; 

    $mydata = mysql_query($mysql,$con); 
    //post quiz name (here) 
    echo $name."</br>"; 
    while($records = mysql_fetch_array($mydata)){ 

    echo "<div>"; 
     echo $records['question_description']."<br>"; 

     //image displayed here 

     echo "<label><input type='radio' name='option' value=".$records['option_a'].">".$records['option_a']."</label><br>"; 
     echo "<label><input type='radio' name='option' value=".$records['option_b'].">".$records['option_b']."</lable><br>"; 
     echo "<label><input type='radio' name='option' value=".$records['option_c'].">".$records['option_c']."</label><br>"; 

     echo "</ br> <hr>"; 
    echo "</div>"; 
    } 

我希望有人能幫我解決這個問題。

+0

確保檢查選項的名稱。相同名稱的選項只能選擇一次 –

回答

0

你正在分組所有單選按鈕'選項'...做到這一點;

$counter = 0 //declare a counter outside the loop 

,並與名稱

name='option".$counter."' 

添加此和計數器遞增循環內

$counter++ 

這會給你一組每個組單選按鈕

+0

它的工作原理很簡單,只是你沒有想到的。 – Jordan

0

您的單選按鈕需要不同的名稱。將它們全部用相同的名稱表示你只能從每個收音機中選擇一個。

對於每個問題,您的單選按鈕應該有不同的名稱。考慮使用像你的數據庫ID這樣的東西:

while($records = mysql_fetch_array($mydata)) { 
    echo $records['question_description']."<br>"; 

    echo "<label><input type='radio' name='option" . $record['id'] . "' value=".$records['option_a'].">".$records['option_a']."</label><br>"; 
    echo "<label><input type='radio' name='option" . $record['id'] . "' value=".$records['option_b'].">".$records['option_b']."</lable><br>"; 
    echo "<label><input type='radio' name='option" . $record['id'] . "' value=".$records['option_c'].">".$records['option_c']."</label><br>"; 
} 
+0

也可以隨意使用,並且工作得很好 – Jordan

相關問題