2017-02-19 181 views
0

嗨,我似乎無法得到循環語句生成的單選按鈕的值。即使有相應的單選按鈕名稱,$ _POST方法也不起作用。獲取單選按鈕值php

<?php 
$servername = "127.0.0.1"; 
$username = "root"; 
$password = ""; 
$dbname = "test"; 
$i = null; 
$conn = new mysqli($servername, $username, $password, $dbname); 

for ($t=0;$t<4;$t++){} 
$sql = "SELECT * FROM questions LIMIT $t"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    $i = 0; 
     echo " <form action='radio.php' method='post'><table>"; 
     echo "<tr> 
     <th>Questions</th> 
     <th>Answers</th>  </tr> <tr>" ; 
    while($row = $result->fetch_assoc()) { 
    $ans=array($row['1'],$row['2'],$row['3']); 
    shuffle($ans); 
    echo $row['question']."<br>"; 
     foreach ($ans as $choice) { 
      echo "<input type='radio' name='radio$i' value = '$choice'>".$choice."<br>"; 
    } unset($choice); 
     echo " </tr>";$i++; 
    } 


     echo "</table> <input type = 'submit' value = 'finished'></form><br>"; 
echo ""; 
    } else { 
    echo "0 results"; 
} 
$conn->close(); 

?> 

它總是導致
說明:未定義指數:radio0在C:\ XAMPP \ htdocs中\引導\ radio.php here is an example output甚至壽索引radio0存在於HTML的元件。

+0

看看你的HTML源代碼,你會看到這是怎麼回事 –

+0

順便說一句,你發佈的內容非常相似已經http://stackoverflow.com/q/42178389/1415724 - 如果它是相同的,你應該刪除那個舊的問題。 –

+0

你知道你在第一個循環範圍內不做任何事嗎? '爲($ T = 0; $ T <4; $ T ++){}'這個循環中有一個空的身體,儘管,如果你正確地格式化你的代碼,你會看到有更多的空間問題 – Robert

回答

0

讓我們通過代碼一點一點

for ($t=0;$t<4;$t++){} 

這是一個空的for循環。括號{}應該包含循環的動作。因爲他們是空的,什麼也沒有發生在這個循環

$sql = "SELECT * FROM questions LIMIT $t"; 

這裏不能使用$ T變量,因爲它是超出範圍。即使你可以,我懷疑這是你真正想要的,因爲LIMIT僅僅限制了你可以得到的迴應數量。

$result = $conn->query($sql); 

你沒有帶定義的連接對象(假設您提供所有的代碼)。

$i = 0; echo " <form action='radio.php' method='post'><table>"; 

在同一行上定義這些東西是非常可怕的做法(雖然這是可能的)。

<th>Answers</th>  </tr> <tr>" ;while($row = $result->fetch_assoc()) { 

再次,非常練習 - 這是非常難以閱讀。

$ans=array($row['1'],$row['2'],$row['3']); 

您應該最有可能使用整數索引而不是字符串。此外請記住,陣列是0索引。

foreach ($ans as $choice) {echo "<input type='radio' name='radio$i' value = '$choice'>".$choice."<br>"; 
} unset($choice); 
       echo " </tr>";$i++;} 

你沒有帶在循環中定義的任何$i變量,所以你不能使用$i變量

+0

嗨,我知道這是一種麻煩但它以某種方式工作。並編輯我的文章的整個語法。我剩下的問題是$ _POST不能被循環創建的單選按鈕識別。 –