Хорошо, я использую подготовленное заявление, чтобы получить все города.Autocomplete не работает с mysql
это мой PHP-файл
<?php
include_once '../includes/db_connect.php';
$search = $_GET['term'];
if($stmtgetstore = $mysqli->prepare("SELECT * FROM cities WHERE city LIKE '%$search%'"))
{
//$stmtgetstore->bind_param("s",$search);
$stmtgetstore->execute();
$getstore = $stmtgetstore->get_result();
$stmtgetstore->close();
}
else
{
echo $mysqli->error;
}
$array = array();
$json = '[';
$first = true;
while($store = $getstore->fetch_assoc())
{
if (!$first) { $json .= ','; } else { $first = false; }
$json .= '{"value":"'.$store['city'].'"}';
}
$json .= ']';
?>
И это мой сценарий и HTML
<script type="text/javascript">
$(document).ready(function()
{
$('#autoCity').autocomplete(
{
source: "scripts/search_store_by_city.php",
minLength: 2
})/*.data("autocomplete")._renderItem = function(ul, item)
{
return $("<li></li>")
.data("item.autocomplete", item)
.append(item.city)
.appendTo(ul);
};*/
});
</script>
<div class="container">
<form action="" method="GET">
<input type="text" id="autoCity">
</form>
</div>
Но как-то, когда я вводить буквы в текстовом поле я не вижу результата приходит в консоли и без ошибок тоже, но при запуске запроса в базе данных он дает мне на строки
Этот запрос
SELECT * FROM cities WHERE city LIKE '%Kara%'
Любая идея, что я делаю неправильно?
Вы смотрели AJAX запрос/ответ в инструментах разработчика браузера? Включили ли вы библиотеку jQuery в проект? Есть ли ошибки в консоли? Вы используете это на веб-сервере? Проверяли ли вы свои журналы ошибок на стороне сервера? –
Yess Я проверил запрос ajax и ответ. Я видел, что ничего не возвращается. Я использовал jQuery-библиотеки, а также нет ошибок, возвращающихся назад, ни какие-либо данные. – Alexxxx
Некоторая разумная отступка кода была бы хорошей идеей. Это помогает нам читать код и, что более важно, это поможет ** вы отлаживаете свой код ** [Взгляните на стандарт кодирования] (http://www.php-fig.org/psr/psr-2/) для вашей собственной выгоды. Вас могут попросить изменить этот код через несколько недель/месяцев, и в конце вы поблагодарите меня. – RiggsFolly