jqueryオートコンプリートを使用してphp経由でSQLデータベースを検索する.aspxページがあります。問題は、データベース列の「連絡先」にユーザーの名が「ピーター」のレコードが何百もあるため、「ピーター」と入力しても、姓の文字を入力し始めるまで結果が得られないことです。すべての結果を表示するにはどうすればよいですか? 「ジョン」などの結果が小さい場合は正常に機能します。また、オートコンプリートの 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);