2011-08-07 18 views
1

我可能會讓它比需要的更加複雜,並希望你們能幫助清除我的頭。試圖通過一個包含空格的選項值的問題

在我的數據庫中,我有一個enum字段的表,其中大部分值都包含空格。目前,我正在嘗試使用組合選擇,以便每當有人選擇某個選擇(包含枚舉的所有值,通過php從數據庫中抓取)時,選擇兩個下拉列表將填充與什麼有關的值被選中。

這是我使用搶選擇一個值來填充選擇兩個腳本:

$(function() { 
$("#semester").change(function() { 
    $("#course").load("tester.php?semester=" + $("#semester").val()); 
}); 
}); 

腳本我用搶枚舉:

$optionresult = mysql_result(mysql_query('SELECT column_type FROM information_schema.columns 
WHERE table_name = "item" AND column_name = "'.$columnname.'"'),0); 
$values = explode("','",substr($optionresult,6,-2)); 
for($i = 0; $i < count($values); $i++) { 
echo '<option value="'.$values[$i].'">'.$values[$i].'</option>'; 

喜歡的東西長期而Spring2012將會通過併發布,而像2012年春季的則不會。

有沒有辦法解決這個問題,而不必手工輸入每個選項值,刪除選項值中的空格,然後在查詢時再添加它?

+0

您*可以*在選項值中有空格。你的問題必須在別處。你能發佈tester.php的輸出嗎?另外,我建議你在這兩種情況下都使用'htmlentities''$ values [$ i]'。 – Halcyon

回答

2

嘗試

$("#course").load("tester.php?semester=" + 
    encodeURIComponent($("#semester").val())); 

encodeURIComponent將在查詢字符串編碼空間的照顧。它將把「第一學期」改爲「第一個%20學期」。

服務器會自動解碼--' $ _GET [「semester」]將是「第一學期」;

+0

我結束了使用replace()方法,但這聽起來更清潔!謝謝! – ToryT

相關問題