我有一个.aspx页面,它使用jquery自动完成功能通过php搜索SQL数据库。问题是数据库列'Contact'有数百条记录,用户的名字叫'Peter',所以当我输入'Peter'时,我开始输入他们姓氏的字母后才会得到结果。如何显示所有结果?当结果较小时,它可以正常工作,例如'John',我也希望将自动完成minLength保留为3。
我尝试将默认的1000更改PHP.ini max_input_vars并重置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);