自动完成功能不返回搜索值,而是返回所有值(在PHP,jQuery中) - php

我有这样的index.php

<link rel="stylesheet" href="https://code.jquery.com/ui/1.11.4/theme/smoothness/jquery-ui.css"/>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>

<script>
    $(document).ready(function(){
        $("name").autocomplete({
            minLength: 2,
            source: 'autocomplete.php',
            select: function(event,ui){
                $("#name").val(ui.item.value);
            }
        });
    });
</script>
<form method="GET">
    <input type="text" name="name" id="name"/>
</form>

这是autocomplete.php的一部分

$q = $_GET['name'];
...
$sql = "SELECT name_name FROM tbl_data WHERE name_name LIKE '%$q%'"
...

它以json格式返回值。

但是,当我在inputbox中键入两个字母时,它显示了tbl_data中的所有名称,而不仅仅是数据LIKE '%$q'

如何解决呢?

任何回应,谢谢..

参考方案

首先,您必须更加了解jQuery选择器:

$('#name').autocomplete({...});

但是我认为您做错的部分是您的PHP代码中从_GET数组检索该变量的部分,jQuery发送给服务器的变量名称是q而不是name,因此您的代码应为喜欢:

$q = _GET['q'];

jQuery Ajax加载仅适用于单个单词变量 - php

在我的PHP文件中,我将一些变量从输入框传递到链接中,该链接通过jQuery的ajax load函数在其URL中使用该变量加载页面。整个系统运行良好,但仅适用于单字变量。每当涉及到空格时,我的Ajax通话都会中断。我假设这是一个编码问题,但是我也有一些疑问。基本上,它归结为我的PHP文件中的这一行代码,这导致了混乱。是否有可能找出格式是否正确,或者为什么在多…

jQuery-找不到Ajax网址 - php

好的,我敢肯定这确实很容易,而且我很愚蠢,但是似乎并不能深入了解它。我试图从我的js文件“ custom.js”中对“ helpers.php”中的某些代码进行简单的AJAX调用。但是,我仍然收到404错误,因为我似乎并没有正确遍历文件夹,尽管我确信我正在...我的文件夹结构如下:html index.php js/ custom.js includes h…

jQuery Ajax和php类 - php

我正在尝试学习如何在php中使用oop。我对jQuery也很陌生。是否可以向php类方法发出Ajax请求?我只将Ajax请求发送到专门用于此目的的文件,并且返回我需要的数据。 参考方案 简短答案:不可以。长答案:Ajax只是一个使用JavaScript从浏览器发出HTTP请求而无需离开页面的术语。您唯一可以“呼叫”的是URL。您可以编写PHP以根据URL来执…

jQuery Ajax PHP重定向到另一个页面 - php

JavaScript文件:$.ajax({ type: "POST", url: "ajax.php", data: dataString, success: function(r) { $("#div").html(r); } }); 我想在成功的情况下将页面重定向到new.php,所以在我使用a…

PHP-MySQL结果转换为JSON - php

我试图了解如何将MySQL结果转换为JSON格式,以便以后可以在Javascript中使用此JSON来构建HTML表。但是我的代码只是产生大量的空值,我还不明白为什么。$result = mysqli_query($con, "SELECT * FROM Customers"); $test = json_encode($result);…