-1

我的代码只是打算用团队名称填充两个下拉列表,并使用用户选择来操纵这些团队的积分值。举个简单的例子,选择 2 支球队并将他们相应的分数相加。

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

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

谢谢你的帮助

<?
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>
4

1 回答 1

1

问题是您如何构建 SELECT 列表。正确的代码是这样的:

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

您不需要使用$team变量。

于 2012-09-08T15:46:38.513 回答