你好朋友面临AJAX和PHP的问题??? 让我告诉你我做了什么......! 我创建了2页 一个页面(AJAX_view.php),其中包含所有血型中的所有血型组,如(b +,b-),我将我的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);
这是我如何从数据库中选择数据? 请帮忙
答案 0 :(得分:2)
您需要编码+
,否则它将被视为空格()。在
encodeURIComponent
上使用 str
。
xmlhttp.open("POST","search.php?q="+encodeURIComponent(str),true);
如果str为A+
而没有encodeURIComponent
,则会生成网址search.php?q=A+
。这使得PHP结束时$_GET['q']='A '
。 (注意空格)
使用encodeURIComponent
,search.php?q=A%2B
会产生$_GET['q']='A+'
。