使用自动完成文本框从MySQL数据库表中检索数据。我的Ajax代码正致力于检索少量数据。在我的数据库表中,我有超过300,000条记录。当我使用大数据时,编码不起作用。
请给出检索大数据的建议。哪种方法最适合检索数据。
请参阅我的代码。它可以很好地检索少量数据。
<input type="text" name="protein_name" id="protein_name">
$("#protein_name").keypress(function (e){
var protein_name = $("#protein_name").val();
if(protein_name != "") {
$.ajax({
url: '<?php echo base_url(); ?>/index.php/Protein_Main/protien_search',
data: {protein_name: protein_name},
dataType: "json",
type: "POST",
success: function (res) {
$("#protein_name").autocomplete({
source: res
});
}
});
} }); PHP编码
$query = $this->db->query("SELECT `Name_of_the_Protein` FROM `protein` WHERE Name_of_the_Protein Like '".$protein_name."%'");
$protein = $query->result(); echo json_encode($protein);
发布于 2019-08-01 19:17:21
自动完成功能需要做一些事情。
<input type="text" id="nmRecipientSearch">
var aryRecipientsFull=["Aaron","Adon","Andrew"];
var aryLrId=["1","2","3"];
$( "#nm_recipient_search“).autocomplete({ source: aryRecipientsFull,select: function( event,ui ){ var numPosition,numLrId = 0;//查找所选项(如Adon)在数组中的索引位置numPosition=aryRecipientsFull.indexOf(ui.item.label);//设置变量为所选项对应的数值(如2) numLrId=aryLrIdnumPosition;//将隐藏输入字段(nm_lr_id)填充到数值$('#nm_lr_id').val(numLrId);//选定后将焦点放到下一个字段$('#nm_text').focus();} });
确保自动完成结果显示在所有内容之上的CSS样式:
ul.ui-autocomplete { z-index: 1100; }
需要考虑的几件事:
我希望这能有所帮助。
https://stackoverflow.com/questions/57305347
复制相似问题