2012-08-02 133 views
0

我正在從數據庫表中選擇列表一切正常工作正常只有問題是在選項值,如果該值包含兩個單詞如「紐約」它只返回「新」。下面是代碼從數據庫創建選擇列表

<? $country=intval($_GET['country']); 

include('connect-db.php'); 

$query="SELECT CityName FROM cities WHERE CountryId='$country'"; 
$result=mysql_query($query); 

?> 
<select name="city"> 
<option value="">Select City</option> 
<? while($row=mysql_fetch_array($result)) { ?> 
<option value=<?=$row['CityName']?>><?=$row['CityName']?></option> 
<? } ?> 
</select> 
+0

在你的查詢的正下方放置$ row = mysql_fetch_array($ result); echo $ row ['CityName'];我們可以測試這個 – kezi 2012-08-02 05:59:35

+0

你還沒有使用該值周圍的引號 AndroidLearner 2012-08-02 06:03:34

回答

1
<option value="<?=$row['CityName']?>"><?=$row['CityName']?></option> 

的 「」。

+0

+1我猜你是第一個回答 – Rab 2012-08-02 06:50:30

1

你將不得不用來包圍在「值」,HTML代碼認爲紐約部分是選項標記的另一種屬性,因此:

<option value="<?=$row['CityName']?>"><?=$row['CityName']?></option> 
0

只需使用「」爲價值的價值和你寫HTML標籤一樣。

1

您在提供值時沒有包含「」。如果你看一下你的代碼選擇框創建的HTML是一樣的東西

<option value="new" york>new york</option> 

正確的解決方案在下面給出,只是包含在報價的同時給選項標記的價值。

<? $country=intval($_GET['country']); 

include('connect-db.php'); 

$query="SELECT CityName FROM cities WHERE CountryId='$country'"; 
$result=mysql_query($query); 

?> 
<select name="city"> 
<option value="">Select City</option> 
<? while($row=mysql_fetch_array($result)) { ?> 
<option value="<?=$row['CityName']?>"><?=$row['CityName']?></option> 
<? } ?> 
</select> 
+0

謝謝「」是現在工作正常的錯誤。 Regards – 2012-08-02 06:12:55

+0

建議:使用firebug和mozilla firefox來查看你的html並調試你的javascript或jquery代碼,這將幫助你在代碼中找到真正的問題。 – AndroidLearner 2012-08-02 06:16:32

+0

當您得到正確的解決方案時,您可以將最佳答案標記爲正確,您也可以放棄提議。 – AndroidLearner 2012-08-02 06:19:00