我的代码只是想用团队的名称填充两个下拉列表,并使用用户的选择来操纵这些团队的积分值。作为一个琐碎的例子,选择两个团队,并将他们相应的分数相加。
我的主要问题是尝试将用户团队选择和相应的点存储在变量中,以便使用它们。我不太熟悉使用数组或如何检索我想要的值。我可以很容易地只检索名称,但当我尝试同时检索点和名称时,它会在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
变量。