Я построил фильтр, который принесет мне все имена из моей базы данных, которые имеют ту же букву, которую я использую для ввода своих данных. Когда я набираю букву, она приносит имя, а не второе имя и т. Д. c. Это работает нормально, но когда я набираю вторую или третью букву и удаляю ее, имена, которые я вижу, используют для повторения. Я использую Ajax.
Спасибо.
$(document).ready(function(){
$("#inp2").keyup(function(){
$.ajax({
url:"server.php",
type:"post",
data:{name:$(this).val(), action:"ajax1"},
success:function(r){
r = JSON.parse(r);
r.forEach(function(item){
$("body").append(`<h4>${item.Name}</h4>`);
})
}
})
})
})
<?php
class Search{
public $name;
function __construct(){
$this->name = new mysqli("localhost","root","","ajax");
if($_POST["action"] == 'ajax1'){
$this->A5();
}
}
function A5(){
$type = $_POST["name"];
$abc = $this->name->query("SELECT * FROM user WHERE Name LIKE '$type%' ")->fetch_all(true);
echo json_encode($abc);
}
}
$create = new Search();
?>
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
<title>Ajax</title>
</head>
<body>
<input id="inp2" placeholder="Enter your name" class="form-control w-25">
</body>
<script src="script.js"></script>
</html>
.