jquery オートコンプリートを使用しようとしています。オートコンプリートで使用されるタグは mysql データベースから抽出されます。問題は、データベースから選択されたタグの数が 500 を超えると (SQL で LIMIT を使用してテストしました)、オートコンプリートが停止することです。ここでの作業
はSQLコードです:
DELIMITER $$
CREATE PROCEDURE `tous_comptes`()
BEGIN
DECLARE nbr INT;
CREATE temporary TABLE IF NOT EXISTS temp(id int, libele varchar(255));
select count(*) into nbr from temp;
IF nbr = 0 THEN
insert into temp select idCD,libele from cd union select idcomptes,libele from comptes union select idsouscomptes,libele from souscomptes;
select*from temp LIMIT 500;
ELSE
select*from temp LIMIT 500;
END IF;
END
オートコンプリート関数を呼び出すスクリプトと、Json 文字列を生成する php ファイルを次に示します。
$(function () {
$.getJSON('autocomplete.php', function(data) {
var com=new Array();
var idcom= new Array();
var i=0;
$.each(data, function(key, val) {
com[i]=val.libele;
idcom[i]=val.id;
i++;
});
$("#compte").autocomplete({
source: idcom,
minLength: 2,
select: function( event, ui ) {
for(var x=0; x<idcom.length;x++){
if(idcom[x] == ui.item.value){
$("#lblcompte").val(com[x]);
}
}
}
});
});
});
前もって感謝します。