2011-11-06 18 views
1

最初の選択肢である動的なドロップダウンボックスがあり、2番目のドロップダウンがデータベースから読み込まれます。動的に入力するドロップダウンボックスが「空白」で機能しない

include("connect.php"); 
$choice = mysql_real_escape_string($_GET['choice']); 

$query = "SELECT * FROM locations WHERE county_name='$choice' ORDER BY town_name ASC"; 

$result = mysql_query($query); 
while ($row = mysql_fetch_array($result)) { 
     echo "<option>" . $row{'town_name'} . "</option>"; 
} 

これは、ロンドン、エセックスという1つの単語の 'county_name'変数に完全に対応しています。しかし、彼らが「East Sussex」を選んだ場合、それは何も返しません。

私はmysql_real_escape_stringが問題だと思ったので、それを削除しましたが、問題はまだ発生していました。次のように

2番目のドロップダウンにデータを接続するためにJavaScriptは、次のとおり

$(function() {    
$("#select_county").change(function() { 
$("#select_town").load("include_mx/getter.php?choice=" + $("#select_county").val()); 
    });  
}); 

任意の助けがイン間の「スペース」は全く成功を有していない理由として理解されるであろう。

事前に感謝します。

+0

もっと安全にするにはどうすればよいですか? real_escape_stringで十分だろうと思いましたか? – Ben

+1

あなたはそうです、それは 'mysql_real_escape_string'がするものです。しかし、我々はそれがあなたの問題である宇宙に対して何をするのか分からない。デバッガで見てください。 – Hogan

+0

URL -getter.phpを返すようですか?choice = West%20Sussex、%20が問題になるのですか? – Ben

答えて

0

私が最も速く、最も最も単純な答えがわからない午前には、どのようにこれまでに、これは私の作品:

どれでも郡を「ウェスト+サセックス」で置き換えられてきた「スペース」で:

`str_replace(" ","+","$variable"); 

私は「+」sのを表示したくなかったので、私はこれを使用:

$c=$row['county_name']; $county = str_replace("+"," ","$c"); echo "<option value='$c'>$county</option>"; 

今とはかなり堅牢であるすべての時間を仕事にのように見えること。

関連する問題