对不起,这可能是一个非常基本的问题,但我是从网上自学的,不知道还能问谁。
我想知道是否有办法对远程服务器执行 php/mysql 查询,然后将结果返回给客户端机器。我计划使用用户访问的查询 (2D) 的结果和要执行的另一个查询。它必须由带有 ajax 调用的 javascript 脚本或以更好的方式访问
我想这样做是因为我想“加速”网站,并限制用户在执行查询时浪费的时间。
示例:用户想要查看 X 公司所有员工的一些数据。Php 选择 X 公司的所有员工,并将结果“发送回”到存储它的机器。稍后用户可以只过滤男性员工,或者有车员工,或者男性有车员工
编辑: 据我所知,这会将整个查询显示为页面上的表格,并且它们将根据用户输入进行过滤。
我使用类似的解决方案,显示我需要显示的表格列,并将其他列作为自定义 div 值添加到显示数据的 div 中。
<div class="card selected" id="26912" name="Afflicted Deserter" cost="3R" dualface="Werewolf Ransacker" exp="DKA" type="Creature - Human Werewolf">Afflicted Deserter || Werewolf Ransacker</div>
我使用 onclick 事件来选择 div 并将 div 值存储为变量。
SelectCard = function (card) {
$('body').data({"currentID":$(card).attr('id'), "currentNAME":$(card).attr('name'), "currentCOST":$(card).attr('cost'), "currentTYPE":$(card).attr('type'), "currentEXP":$(card).attr('exp')})
$('#cardIMG').attr('src',"mtg-img/" + $(card).attr('exp') + "/" + $(card).attr('name') + ".full.jpg");
}
我将隐藏应用到所有我不想使用的条目。我还在向上/向下箭头上使用代码选择下一个/上一个 div。
MoveArrows = function () {
$(document).keydown(function(e){
if (e.keyCode == 40) {
if(chosen === "") {
chosen = 0;
} else if((chosen+1) < $('div.card').length) {
// testvalue = $('div.card').next(".hidden").index();
// console.log("testvalue:", testvalue)
chosen++;
}
$('div.card').removeClass('selected');
while ($('#' + parentDiv).find('div.card').eq(chosen).hasClass('hidden')){
chosen++;
}
$('#' + parentDiv).find('div.card').eq(chosen).addClass('selected');
SelectCard( $('#' + parentDiv).find('div.card').eq(chosen))
return false;
}
if (e.keyCode == 38) {
if(chosen === "") {
chosen = 0;
} else if(chosen > 0) {
chosen--;
}
$('div.card').removeClass('selected');
while ($('#' + parentDiv).find('div.card').eq(chosen).hasClass('hidden')){
chosen--;
}
$('#' + parentDiv).find('div.card').eq(chosen).addClass('selected');
SelectCard( $('#' + parentDiv).find('div.card').eq(chosen))
return false;
}
})
}
当循环被执行以寻找下一个非隐藏的div。
我的问题是,当条目太多时,向上/向下点击需要一段时间才能选择下一个 div。
数据表如何处理过滤后的结果?
最佳答案
在 javascript 中客户端处理的一个选项是优秀的 datatables jQuery 插件。这将实现您的目标,即删除额外的服务器调用以对原始查询进行排序或过滤。
如果您希望数据在 session 之间持续存在,您可能需要考虑 HTML5 Web Storage
关于php - 如何存储在客户端机器上并重复使用 php/mysql 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14184373/