我创建了一个AJAX搜索字段,允许我使用输入的值搜索我的数据库,结果将显示在输入字段下方的列表中。
搜索只在输入输入后更新然后清除而不是在每次键输入后更新,我知道连接和页面设置很好,因为在我输入文本到字段后它会显示" TEST& #34;但是只有当我清除输入字段时!它应该在每个键输入后搜索。
我无法在代码中发现任何错误,但如果有人能够看到为什么它不会在每次击键时更新,那么我们将非常感激。
HTML:
<form>
<input autocomplete="off" name="search_text" id="search_text" type="text" placeholder="search...">
<div id="result"></div>
</form>
JQUERY:
$(document).ready(function() {
$('#search_text').keyup(function() {
var txt = $(this).val();
if(txt != '')
{
}
else
{
$('#result').html('');
$.ajax({
url:"sections/fetch.php",
method:"post",
data:{search:txt},
dataType:"text",
success:function(data)
{
$('#result').html(data);
}
});
}
});
});
PHP:
<?php
$cameras = mysqli_connect($xxx, $xxx, $xxx, $xxx);
?>
<?php
$sql = "SELECT * FROM models WHERE model LIKE '%".$_POST["search"]."%'";
$result = mysqli_query($cameras, $sql);
if(mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_array($result)) {
echo "TEST" . '<br>';
}
} else {
echo 'Data Not Found';
}
?>