1

我有一个 .aspx 页面,它使用 jquery 自动完成功能通过 php 搜索 SQL 数据库。问题是数据库列“联系人”有数百条记录,用户的名字是“彼得”,所以当我输入“彼得”时,我没有得到任何结果,直到开始输入他们的姓氏字母。如何让所有结果出现?当有较小的结果时它工作正常,例如“约翰”,我还想将自动完成 minLength 保留为 3。

我尝试将 PHP.ini max_input_vars 从默认的 1000 更改并重置 IIS,但这没有用。

jQuery代码

$(function () {
    $("#queryString").autocomplete({
        source: function(request, response) {
            $.ajax({
            url: "Search.php",
            data: { term: $("#queryString").val(), searchby: $("#ddlSearch").val()},
            dataType: "json",
            type: "GET",
                success: function(data){
                response(data);
                }
            });
        },
        minLength: 3,
        multiple: true, 
        multipleSeparator: " "
    })
});

PHP 文件

$tsql = "SELECT [Contact] FROM [Goldmine].[dbo].[CONTACT1] WHERE [Contact] LIKE '$queryString%'";
}

If ($ddlSearch == 'Name') {

$stmt = sqlsrv_query( $conn, $tsql); 
$data = array();
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC))     
{   
$data = array_merge( $data, array_values($row) );
sort($data, SORT_NATURAL | SORT_FLAG_CASE);
}
echo json_encode($data);
4

0 回答 0