2013-08-23 47 views
0

代碼應打開表的gamename列的所有行,並將1700行放入下拉菜單中,但它只顯示帶有1700行的空白下拉列表。在PHP中使用查詢結果填充下拉菜單

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password") or die(mysql_error()); 

mysql_select_db("$db_name") or die(mysql_error()); 
$i=0; 
$result = mysql_query("SELECT gamename FROM games"); 
$storeArray = Array(); 
echo '<select name="game" style="width: 400px">'; 

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
     $storeArray[] = $row[i]; 

    echo "<option>".$storeArray[i]."</option>"; 
    $i= $i+1; 
} 

?> 
</select> 
+0

'$ storeArray [i]'是否有任何HTML字符(如< or >)? 試試'echo「」;' –

回答

1
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
    $storeArray[] = $row[i]; 

    echo "<option>".$storeArray[i]."</option>"; 
    $i= $i+1; 
} 

一件事,你使用i$i互換這裏;這可能會或可能不會導致問題。您正在將$rowi th成員分配到$storeArray中,並且在第一行之後不起作用,因爲SELECT中只有一個項目。

爲什麼不只是做:

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
    echo "<option>".$row['gamename']."</option>"; 
} 
+0

這工作。謝謝。我會哭的。這是一次免費的冒險,所以你幫助志願者大家感謝你。 – user2712167

+0

@ user2712167 - 有時,只需要另一雙眼睛來查看您的代碼。我很高興我能幫到 – andrewsi

2

你應該嘗試一下這樣的:

<?php 

mysql_select_db("$db_name") or die(mysql_error()); 

$sql = "SELECT gamename FROM games"; 
$query = mysql_query($sql); 

echo '<select name="game" style="width: 400px">'; 
while ($row = mysql_fetch_assoc($query)) { 
    echo '<option>'.$row['gamename'].'</option>'; 
} 
echo '</select>'; 

?> 
0
mysql_select_db("$db_name") or die(mysql_error()); 
$i=0; 
$result = mysql_query("SELECT gamename FROM games"); 
$storeArray = Array(); 
echo '<select name="game" style="width: 400px">'; 

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
$storeArray[] = $row['gamename']; 

echo "<option>".$storeArray['gamename']."</option>"; 
$i= $i+1; 
} 
0

您在這裏有一個以上的問題......但是,讓這個嘗試。

$result = mysql_query("SELECT gameid, gamename FROM games"); 
//$storeArray = Array(); 
echo '<select name="game" style="width: 400px">'; 

while ($row = mysql_fetch_assoc($result)) { 
$gamename = $row['gamename']; 
$gameid = $row['gameid']; 
echo "<option'".$gameID."'>".$gamename."</option>"; 
} 
echo '</select>'; 

這是假設你有你的遊戲表中的ID字段(我也將開始使用PDO或mysqli的,如果我是你...)。您沒有爲選項分配任何值。這不會有用。此外,您並未按照您的方式提取數據。

+0

看起來我對派對有點晚了...... – wiscWeb