Странная проблема - у Javascript есть доступ к большему количеству данных, чем то, что возвращает php (или, возможно, именно так оно и выглядит).
Javascript: следующий код возвращает все записи из таблицы независимо от того, что я ищу ( term ) по запросу.
$(document).ready(function() {
//autocomplete
$(function() {
$("#search").autocomplete({
source: function(request, response) {
$.ajax({
url: "fetch_emojis.php",
method: 'post',
data: { term: request.term },
dataType: 'json',
success: function(data) {
response(data);
}
});
},
minLength: 1,
open: function(event, ui) {
$(".ui-autocomplete").css("z-index", 1000);
},
})
.autocomplete("instance")._renderItem = function(ul, item) {
return $("<li><div><img src='" + item.img + "'><span>" + item.description + "</span></div></li>").appendTo(ul);
};
});
});
PHP: следующий код, если запустить отдельно, возвращает строки в соответствии с запросом (включая пример набора результатов)
<?php
if ( !isset($_REQUEST['term']) ) {
exit;
}
$DB_host = "hostname";
$DB_login = "userid";
$DB_pass = "password";
$DB_select = "dbname";
$DB_port = "portnumber";
$mysqli = mysqli_connect($DB_host,$DB_login,$DB_pass,$DB_select,$DB_port);
$term = trim(strip_tags($_GET['term']));
$term = preg_replace('/\s+/', ' ', $term);
$a_json = array();
$a_json_row = array();
$a_json_invalid = array(array("id" => "#", "value" => $term, "label" => "Only letters and digits are permitted..."));
$json_invalid = json_encode($a_json_invalid);
if(preg_match("/[^\040\pL\pN_-]/u", $term)) {
print $json_invalid;
exit;
}
if ($data = mysqli_query($mysqli, "SELECT * FROM emojis WHERE description LIKE '%$term%'")) {
while($row = mysqli_fetch_array($data)) {
$id= htmlentities(stripslashes($row['id']));
$description = htmlentities(stripslashes($row['description']));
$source = htmlentities(stripslashes($row['source']));
$a_json_row["id"] = $id;
$a_json_row["description"] = $description;
$a_json_row["img"] = $source;
array_push($a_json, $a_json_row);
}
}
echo json_encode($a_json);
?>
PHP Результат для term = 'grin':
[{"id": "1 "," description ":" Grinning Face "," img ":" https://emojipedia -us.s3.dualstack.us-west-1.amazonaws.com / thumbs / 72 / apple / 155 / grinning-face_1f600.png"}, {" id ":" 5 "," description ":" Ухмыляющееся лицо большими глазами "," img ":" https://emojipedia -us.s3.dualstack.us-west-1.amazonaws.com / thumbs/72/apple/155/smiling-face-with-open-mouth_1f603.png"‹,]"id":"6","description":"Удобрение лица улыбающимися глазами "," img ":" https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/72/apple/155/smiling-face-with-open-mouth-and-smiling-eyes_1f604.png"},{"id ":«7», «описание»: «Ухмыляющееся лицо с потом», «img»: «https://emojipedia -us.s3.dualstack.us-west-1.amazonaws.com / thumbs / 72 / apple / 155 / Smiling-лицо с-открытого рта и холодный-SWeat_1f605.png "}, {" id ":" 8 "," description ":" Grinning Squinting Face "," img ":" https://emojipedia -us.s3.dualstack.us-west-1.amazonaws.com /thumbs / 72 / яблоко / 155 / улыбающееся лицо с открытым ртом и плотно закрытыми глазами_1f606.png "}, {" id ":" 102 "," description ":" Grinning Cat Face ","IMG ":" https://emojipedia -us.s3.dualstack.us-west-1.amazonaws.com / превью / 72 / яблоко / 155 / улыбается кошка-лицо-с открытым mouth_1f63a.png "}, {"id ":" 103 "," description ":" Лицо улыбающегося кота с улыбающимися глазами "," img ":" https://emojipedia -us.s3.dualstack.us-west-1.amazonaws.com / thumbs / 72 / apple/155/grinning-cat-face-with-smiling-eyes_1f638.png"‹]
Есть мысли о том, что я могу делать неправильно?