所有PHP下拉列表项显示为“;阵列”;


All PHP drop down list items appearing as "array"

我的代码只是想用团队的名称填充两个下拉列表,并使用用户的选择来操纵这些团队的积分值。作为一个琐碎的例子,选择两个团队,并将他们相应的分数相加。

我的主要问题是尝试将用户团队选择和相应的点存储在变量中,以便使用它们。我不太熟悉使用数组或如何检索我想要的值。我可以很容易地只检索名称,但当我尝试同时检索点和名称时,它会在ddl的每个位置错误地填充"array"。(在线托管:

我的代码如下,我不确定问题是如何创建下拉列表还是如何检索数据。

感谢您的帮助

<?
require_once 'login.php';
 $db_server = mysql_connect($db_hostname, $db_user, $db_password);
 if (!$db_server) die("Unable to connect to MySQL: " . mysql_error());
 mysql_select_db($db_database)
 or die("Unable to select database: " . mysql_error());
 $sql="SELECT team, points FROM teams";
 $result=mysql_query($sql);
 $options="";
 while ($row=mysql_fetch_array($result)) {        
$team[$row["team"]]=$row["points"];  
$options.="<OPTION VALUE='"$team'">".$team. '</OPTION>';        
 }

 if (isset($_POST['teamA'])) $teamA = $_POST['teamA'];
 else $teamA = "(Not entered)";
 if (isset($_POST['teamB'])) $teamB = $_POST['teamB'];
 else $teamB = "(Not entered)";
 $teamA = htmlspecialchars($teamA);
 $teamB = htmlspecialchars($teamB);
 ?>
 <body>
 You picked <?php echo $teamA; ?>(with <?php echo $team[$teamA]; ?> points) 
 and <?php echo $teamB; ?>(with <?php echo $team[$teamB]; ?>) 
 </br>
 <form method="post" action="ddl.php">
 Team A: 
 <SELECT NAME=teamA>
 <OPTION VALUE=0>Choose
 <?=$options?>
 </SELECT>
 Team B:
 <SELECT NAME=teamB>
  <OPTION VALUE=0>Choose
  <?=$options?>
  </SELECT>
  <input type="submit" />
  </form>
   </body>

问题在于如何构建SELECT列表。正确的代码应该是这样的:

while ($row=mysql_fetch_array($result)) {        
    $options.="<OPTION VALUE='"{$row['team']}'">".htmlspecialchars($row['team']).'</OPTION>';        
}

您不需要使用$team变量。