2010-08-27 28 views
0

我有一個下拉列表中使用MySQL數據庫使用下面的代碼動態生成的:PHP Get方法不發送全情投入

$region = mysql_query("select region_name from region", $connection); 

echo "<select name=region>Region</option>"; 

while ($row = $mysql_fetch_array($region)) 
{ 
    echo "<option value =$row[region_name]>$row[region_name]</option>"; 
} 

echo "</select>" 

這打印出的清單完全正常但是當我使用提交表單GET方法中任何具有空格的區域名稱都不會在URL中正確傳遞。相反,「南澳」的,只會給我「南方」

我知道URL應該最終被: http://foo.com/query.php?region=South+Australia

但代替+澳大利亞只是不會出現。

有人知道我做了什麼愚蠢的東西或我失蹤了什麼?

回答

1

使用單引號中的選項標記值:

在嘗試這個while循環:

echo "<option value='$row[region_name]'>$row[region_name]</option>"; 
0

那將是因爲你需要引用HTML屬性:

<option value="South Australia">...</option> 

否則,瀏覽器應如何區分一個屬性和下一個屬性?

<option value=South Australia>...</option> 

瀏覽器將其讀取爲'value',其值爲'South',另一個屬性'Australia'。

嘗試validating your HTML,它會找到其他錯誤,以及作爲Starx指出..

1

。在你的代碼中的錯誤.........

echo "<select name=region>Region</option>";應該

echo "<select name='region'><option>Region</option>"; 

,並同時給予價值做到這一點

echo "<option value='$row[region_name]'>$row[region_name]</option>";