у меня проблема с моим кодом.
HTML
<div class = "input-group">
<input type = "text" class = "form-control" id = "search">
</div>
Файл data.php
date_default_timezone_set("Asia/jakarta");
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "dbautocomplete";
$koneksi = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname)or die("error koneksi");
if (mysqli_connect_errno()){
echo 'Gagal melakukan koneksi ke Database : '.mysqli_connect_error();
}
$row_set = array();
$term = trim(strip_tags($_GET['q']));
$qstring = "SELECT * FROM tbl_auto WHERE nama_anime LIKE '".$term."%'";
$result = mysqli_query($koneksi,$qstring);
$found=mysqli_num_rows($result);
if ($found>0) {
while ($row = mysqli_fetch_assoc($result)) {
$row['value']=htmlentities(stripslashes($row['nama_anime']));
$row['id']=(int)$row['id'];
$row_set[] = $row;
}
}else{
$row_set[]='Not found...';
}
echo json_encode($row_set);
JQuery
$(document).ready(function(){
/*autocomplete muncul setelah user mengetikan minimal2 karakter */
$(function() {
$( "#search" ).autocomplete({
source: "data.php",
});
});
});
Я уже пытаюсь исправить этот код, но после ввода какого-либо символа в поле ответа нет. Пожалуйста, помогите мне найти проблему. Я уже выполнял поиск во многих Интернете, но все еще не могу найти первопричину.
@Bsienn как это проверить? извините, но я новичок в этом деле ...
Нажмите F12, чтобы открыть инструменты разработчика в браузере, затем выберите вкладку сети, и в этом фильтре вкладок для XHR будет список вызовов ajax. Щелкните любой вызов, и откроется панель. В этом проверьте вкладку ответа.






Попробуйте это, автозаполнение принимает имя параметра term, а не q
HTML
<div class = "input-group">
<input type = "text" class = "form-control" id = "search">
</div>
Файл data.php
<?php
date_default_timezone_set("Asia/jakarta");
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "dbautocomplete";
try {
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname) or die("error connecting database");
if (mysqli_connect_errno()){
echo 'Gagal melakukan conn ke Database : '.mysqli_connect_error();
}
$term = trim(strip_tags($_GET['term']));
$qry = "SELECT * FROM nama_anime WHERE nama_anime LIKE '".$term."%'";
$query = mysqli_query($conn, $qry);
if (!$query) {
$error = mysqli_error($conn);
throw new Exception($error);
}
$result = array();
while ($row = mysqli_fetch_assoc($query)) {
$row['value'] = htmlentities(stripslashes($row['nama_anime']));
$row['id'] = $row['id'];
$result[] = $row;
}
echo json_encode($result);
} catch (Exception $e) {
$result['error'] = $e->getMessage();
echo json_encode($result);
}
mysqli_close($conn);
JQuery
$(document).ready(function(){
/*autocomplete muncul setelah user mengetikan minimal2 karakter */
$(function() {
$( "#search" ).autocomplete({
source: "data.php",
});
});
});
Первая проверка должна быть ответом ajax. Проверьте инструменты разработчика и проверьте ответ, который должен дать вам больше информации.