2012-09-08 90 views
-1

我的代碼僅僅是打算用團隊名稱填充兩個下拉列表,並使用用戶選擇來操縱這些團隊的積分值。作爲一個簡單的例子,挑選2個團隊並將他們相應的分數加在一起。所有PHP下拉列表項以「陣列」出現

我的主要問題是試圖讓用戶團隊的選擇和相應的點存儲在變量,所以我可以使用它們。我對使用數組並不熟悉如何檢索我想要的值。 我可以輕鬆地檢索名稱,但是當我嘗試檢索點和名稱時,它會在每個位置用「數組」錯誤地填充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> 
+1

這是因爲它是一個數組而不是一些標量值。 – PeeHaa

回答

1

的問題是你如何建立你的SELECT列表中正確的代碼會是這樣的:

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

你並不需要使用$team variab樂。

+0

謝謝,這工作。 – user1628206