2015-09-04 72 views
0

我正在嘗試獲取每個單選按鈕的值以存儲在數據庫中。 訣竅是我使用while循環來顯示問題和選擇。存儲從單選按鈕到循環數據庫的值

這裏是我的代碼顯示的問題和選擇。

class questions{ 
     function __construct(){ 
      $db= new dbConnect();  
     } 
     public function fetchRandom() 
     { 
      $qr=mysql_query("SELECT * FROM questionaires INNER JOIN choices ON questionaires.q_id=choices.q_id WHERE RAND()<(SELECT ((10/COUNT(*))*10) FROM questionaires) ORDER BY RAND() LIMIT 10"); 
      $c=0; 
      echo "<table border='3' align='center' bordercolor='#CCCCCC'> 
      <tr> 
      <th>Number:</th> 
      <th>Question</th> 
      </tr>"; 
      while($row=mysql_fetch_array($qr)) 
      { 
       $c++; 
       echo "<tr>"; 
       echo "<td>" . $c . "</td>"; 
       echo "<td>"; 
       echo $row['question'] . "<br>"; 
       $ans_arr=array($row['choice_a'],$row['choice_b'],$row['choice_c'],$row['choice_d']); 
       shuffle($ans_arr); 
       echo "<input type='radio' name='ans".$c."' value='".$ans_arr[0]."'>".$ans_arr[0]."</input><br>"; 
       echo "<input type='radio' name='ans".$c."' value='".$ans_arr[1]."'>".$ans_arr[1]."</input><br>"; 
       echo "<input type='radio' name='ans".$c."' value='".$ans_arr[2]."'>".$ans_arr[2]."</input><br>"; 
       echo "<input type='radio' name='ans".$c."' value='".$ans_arr[3]."'>".$ans_arr[3]."</input><br>"; 
       echo "</td>"; 
       echo "</tr>"; 
      } 
      echo "</table>"; 
     } 
    } 

如何將用戶的答案存儲到數據庫中。將不勝感激。因爲我不知道如何從頭編碼。謝謝。

+0

你在數據庫中存儲布爾值嗎? –

+0

不,我試圖存儲字符串 –

+0

爲什麼你不使用窗體,你只能從輸入字段獲取值,如果表單提交...簡單使用post方法從窗體中獲取值 –

回答

0

這是簡單的代碼嘗試編碼這樣的東西。

<!DOCTYPE html> 
<html> 
    <body> 
     <form method="post" action=""> 
      <table> 
       <tr> 
        <td>Question 1</td> 
        <td><input type="radio" name="ques[ques1][ans1]" value="ans1" checked> Ans1 
         <input type="radio" name="ques[ques1][ans1]" value="ans2"> Ans2 
         <input type="radio" name="ques[ques1][ans1]" value="ans3"> Ans3 
         <input type="radio" name="ques[ques1][ans1]" value="ans4"> Ans4 
        </td> 
       </tr> 
       <tr> 
        <td>Question 1</td> 
        <td><input type="radio" name="ques[ques2][ans2]" value="ans1" checked> Ans1 
         <input type="radio" name="ques[ques2][ans2]" value="ans2"> Ans2 
         <input type="radio" name="ques[ques2][ans2]" value="ans3"> Ans3 
         <input type="radio" name="ques[ques2][ans2]" value="ans4"> Ans4 
        </td> 
      </table> 
      <input type="submit" name="submit" value="submit" /> 
     </form> 
    </body> 
</html> 
<?php 
if (isset($_POST['submit'])) { 
    $data = $_POST['ques']; 

    foreach ($data as $key => $ans) { 
     echo 'Question :'. $key .' '. 'Answer :'. array_values($ans)[0].'<br/>'; 
    } 
} 

希望這會幫助你:)。

+0

即使我從數據庫中隨機顯示問題? –

+0

是的,這只是一個例子,您可以通過將ID添加到數據庫的名稱或唯一值中來識別問題和答案來管理它。只需改變名稱以適當的值。 –

相關問題