Home » Php » php – jquery autocomplete not working with JSON data

php – jquery autocomplete not working with JSON data

Posted by: admin July 12, 2020 Leave a comment

Questions:

My PHP code return JSON data to jquery autocomplete but autocomplete not working

Jquery autocomplete

$("input#txtaddkey").autocomplete({
            source: "keyword.php",
                minLength: 2
        });

PHP code

$fetch = mysql_query("SELECT * FROM o_keyword where keyword like '%" . $query . "%'"); 

    while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
        $row_array['id'] = $row['id'];
        $row_array['keyword'] = $row['keyword'];

        array_push($return_arr,$row_array);
    }
echo json_encode($return_arr);

JSON data output

[{"id":"2","keyword":"Games"},{"id":"3","keyword":"Goa"}]

And while typing “Ga” I am getting empty li tag in front end.

How to&Answers:

From:

your JSON needs to contain label or value (or both). Change keyword to value and it should work fine.

Answer:

Your code needs to be slightly modified.

 while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
    $row_array['value'] = $row['id'];
    $row_array['label'] = $row['keyword'];

    array_push($return_arr,$row_array);
}

echo json_encode($return_arr);

Now your json format will be

[{"value":"2","label":"Games"},{"value":"3","label":"Goa"}]