Автозаполнение jquery из базы данных

у меня проблема с моим кодом.

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",  

            });
        });
    });

Я уже пытаюсь исправить этот код, но после ввода какого-либо символа в поле ответа нет. Пожалуйста, помогите мне найти проблему. Я уже выполнял поиск во многих Интернете, но все еще не могу найти первопричину.

Первая проверка должна быть ответом ajax. Проверьте инструменты разработчика и проверьте ответ, который должен дать вам больше информации.

Bsienn 24.07.2018 13:03

@Bsienn как это проверить? извините, но я новичок в этом деле ...

Lodeweyk Andri 24.07.2018 13:08

Нажмите F12, чтобы открыть инструменты разработчика в браузере, затем выберите вкладку сети, и в этом фильтре вкладок для XHR будет список вызовов ajax. Щелкните любой вызов, и откроется панель. В этом проверьте вкладку ответа.

Bsienn 24.07.2018 13:14
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
3
68
1

Ответы 1

Попробуйте это, автозаполнение принимает имя параметра 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",  

            });
        });
    });

Другие вопросы по теме