2013-09-24 3 views
0

Привет друзья сталкиваются с проблемой с AJAX и PHP ??? Позвольте мне рассказать вам, что я сделал ...! Я создал 2 страницы одну страницу (AJAX_view.php) с выпадающим списком со всей группой крови в коротком коде, подобном (b +, b-), и я поместил мой код ajax на ту же страницу. для асинхронного поиска групп крови, доступных в базе данных (MySql). Теперь на другой странице (search.php) есть все php-код и запрос для извлечения данных из базы данных. Теперь настоящая проблема с первой страницы, я передал строку в URL-адресе на другую страницу, используя кодневозможно получить + символы с помощью php и ajax

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

и ул здесь «B +» без кавычек и оно не читает «+», что он читает только B ... это происходит только в случае «+», а если я передать string str как «A-», дает результат без каких-либо проблем или ошибок и возвращает результат из базы данных , но есть определенная группа крови, такая как B +, AB +, O +, и для них нет результатов.

 $q=$_GET['q']; 

это, как я получить строку на странице поиска ..

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

это, как я выбрать данные из базы данных ?? пожалуйста, помогите

+0

Почему вы используете POSTING значения через строку запроса? Вы смешиваете GET и POST ... –

ответ

2

Вы должны закодировать +, в противном случае он будет рассматриваться как пространство (). Используйте encodeURIComponent на str для этого.

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

Если строка A+ без encodeURIComponent было бы генерировать URL search.php?q=A+. Это делает $_GET['q']='A ' на PHP-конце. (обратите внимание на пробел)

С encodeURIComponent будет search.php?q=A%2B, который дает $_GET['q']='A+'.

+0

спасибо, сэр за вашу помощь ...! Он отлично работал –

Смежные вопросы