0

代码应该打开表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>
4

4 回答 4

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>';

?>
于 2013-08-23T19:23:31.340 回答
1
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $storeArray[] =  $row[i];  

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

一方面,您在这里使用i$i互换;这可能会也可能不会导致问题。您正在分配into的i第 th 个成员,这在第一行之后将不起作用,因为您的 SELECT 中只有一个项目。$row$storeArray

为什么不这样做:

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "<option>".$row['gamename']."</option>";
}
于 2013-08-23T19:22:47.373 回答
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;
}
于 2013-08-23T19:25:29.930 回答
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 字段。您没有为选项分配任何值。这不会有用。此外,您并没有以您拥有的方式提取数据。

于 2013-08-23T19:26:43.723 回答