-1

AJAX と PHP の問題に直面している皆さん、こんにちは??? 私が何をしたか教えてください...!(b+、b-) のような短いコードですべての血液型をドロップダウンして 1 ページ (AJAX_view.php) の 2 ページを作成し、同じページに ajax コードを配置しました。データベース (MySql) で利用可能な血液型を非同期的に検索します。これで、別のページ (search.php) に、データベースからデータを取得するためのすべての php コードとクエリが含まれます。実際の問題は、最初のページから、コードを使用して URL の文字列を別のページに渡したことです。

           xmlhttp.open("POST","search.php?q="+str,true);
           xmlhttp.send();

ここの str は引用符なしの 'B+' であり、「+」を読み取らず、読み取ったのは B のみです...これは「+」の場合にのみ発生しますが、文字列 str を「A-」として渡す場合問題やエラーなしで結果が得られ、データベースから結果が返されますが、B +、AB +、O +などの特定の血液型があり、それらの結果は表示されません。

       $q=$_GET['q']; 

これは、検索ページで文字列を取得する方法です..

      $select_query="SELECT * FROM blood_donate WHERE blood_group='$q'";
        $res=mysql_query($select_query);

これは、データベースからデータを選択する方法ですか?? 助けてください

4

1 に答える 1

2

をエンコード+する必要があります。そうしないと、スペース ( ) として扱われます。encodeURIComponentこれにはonを使用しstrます。

xmlhttp.open("POST","search.php?q="+encodeURIComponent(str),true);

str がA+ない場合、 encodeURIComponenturl が生成されsearch.php?q=A+ます。これにより$_GET['q']='A '、PHP が終了します。(スペースに注意してください)

encodeURIComponentそれはsearch.php?q=A%2Bどちらが得られるでしょう$_GET['q']='A+'

于 2013-09-24T06:55:51.147 に答える