У меня есть HTML-страница с текстовым полем, в которое пользователь вводит страну, а затем AJAX и PHP запрашивают базу данных mysql стран и распечатывают их в DIV ниже. Код работает просто отлично, кроме одной вещи. Если я наберу «А» в текстовом поле, он напечатает только один результат на экране «Афганистан», тогда как он должен печатать каждую страну, начинающуюся с «А». Я полагаю, что ошибка связана с текстом ответа, но как бы я распечатал несколько ответов, или это вообще имеет смысл: P Ниже приведен соответствующий код.
Запрос к базе данных PHP
<?php
$country=$_REQUEST['country']; //get the country sent by Ajax
$connection = mysql_connect("localhost","MYUSERNAME","MYPASSWORD");
mysql_select_db("countrydb", $connection);
$result=mysql_query("SELECT * FROM countries WHERE country LIKE '%$country%'",$connection);
if($row = mysql_fetch_array($result))
echo $row['country'];
else
echo "noresults";
mysql_close($connection);
?>
Это соответствующий javascript
function showcountryStatus() {
if (request.readyState == 4) {
if (request.status == 200) {
if (request.responseText == "noresults") {
document.getElementById('results').innerHTML="No Results";
} else {
document.getElementById('results').innerHTML=request.responseText;
}
}
}
}
Так что в основном мой поиск возвращает только первый результат, тогда как он должен возвращать весь список. Заранее спасибо!