代码应该打开gamename
表的games
列的所有行,并将1700行放入下拉菜单中,但它只显示一个包含1700行的空白下拉列表。
// 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 :(得分: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>';
?>
答案 1 :(得分:1)
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$storeArray[] = $row[i];
echo "<option>".$storeArray[i]."</option>";
$i= $i+1;
}
首先,您在这里可以互换地使用i
和$i
;这可能会也可能不会引起问题。您将i
的{{1}}成员分配到$row
,并且在第一行之后无效,因为您的SELECT中只有一个项目。
为什么不这样做:
$storeArray
答案 2 :(得分: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;
}
答案 3 :(得分:0)
这里有多个问题......但试一试。 (如果我是你,我也会开始使用PDO或mysqli。)
$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字段。您没有为任何值分配选项。哪个没用。你也没有按照你的方式提取数据。