2017-03-04 102 views
0

我必須創建一個表單,從mySQL數據庫中選擇選項,以便列出一列中的所有不同值。不工作的代碼如下:mysql不同形式選擇

<form class="form-horizontal" method="get" action="startlist.php"> 
<select id="selectbasic" name="klass" class="form-control"> 
<?PHP 
$connection = mysqli_connect("link","dbuser","pass","dbname"); 
mysqli_set_charset($connection,"utf8"); 
$sql = "SELECT DISTINCT Klass FROM Voistlejad"; 
$result = mysqli_query($connection,$sql); 
while ($row = mysqli_fetch_array($connection,$result)) { 
echo $row["Klass"]; 
echo "<option value='".$row[0]."'>".$row[0]."</option>"; 
} 
mysqli_close($connection); 
?> 
    <option value='32KK5B'>32KK5B</option><!--This is how it needs to be--> 
</select> 
<button type='submit' class="btn btn-primary">Move on</button> 
</form> 

出了什麼問題?

+4

「不工作」是您觀察到的行爲非常不精確的描述。可能有各種各樣的錯誤。這裏有一些提示:啓用PHP錯誤報告。測試mysqli_connect的返回值,如果它的FALSE,則使用mysql_connect_error獲取錯誤。在調用mysqli_query之後,測試$ results是否爲FALSE,使用mysqli_error獲取錯誤。幾乎沒有任何調試的證據。 StackOverflow是一個問題答案網站,而不是一個調試服務。 「我的代碼有問題」不是*問題。 – spencer7593

+0

開始分解,從TOP開始,找出哪條線路出現故障。然後專門google那個問題。 – usumoio

回答

0

我想你混淆在何處使用單引號和雙引號.. 一般來說,對於陣列/像$行對象,你從數組中值與不用引號或單引號,回聲$行[ '克拉斯']

while ($row = mysqli_fetch_array($connection,$result)) { 

echo $row['Klass']; // single quotes 

echo "<option value='". $row['Klass'] ."'>". $row['Klass'] ."</option>"; 
} 
// shows sql error ONLY if there is one to show 
printf(" %s\n", mysqli_error($link)); 

PS強烈建議將代碼添加到顯示的MySQLi錯誤的,因爲事情發生!

+0

感謝您的幫助! – user7656286