我的代码只是打算用团队名称填充两个下拉列表,并使用用户选择来操纵这些团队的积分值。作为一个简单的例子,选择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>
答案 0 :(得分:1)
问题是如何构建SELECT列表。正确的代码是这样的:
while ($row=mysql_fetch_array($result)) {
$options.="<OPTION VALUE=\"{$row['team']}\">".htmlspecialchars($row['team']).'</OPTION>';
}
您无需使用$team
变量。