如何在客户端机器上存储和重用php/mysql查询?

如何在客户端机器上存储和重用php/mysql查询?,php,javascript,html,Php,Javascript,Html,很抱歉,这可能是一个非常基本的问题,但我从网上自学,不知道还能问谁 我想知道是否有一种方法可以对远程服务器执行php/mysql查询,然后将结果返回到客户机。我计划使用用户要访问的查询结果(2D)和要执行的其他查询。必须使用ajax调用或更好的方式通过javascript脚本访问它 我想这样做是因为我想“加速”网站,并限制用户在执行查询时的空闲时间 示例:用户希望查看X公司的所有员工的一些数据。Php选择X公司的所有员工,并将结果“发送回”到存储结果的机器。之后,用户可以只过滤男性员工、有车的员

很抱歉,这可能是一个非常基本的问题,但我从网上自学,不知道还能问谁

我想知道是否有一种方法可以对远程服务器执行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>
我将隐藏应用于我不想使用的所有条目。我还使用向上/向下箭头上的代码选择下一个/上一个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;
    }
})
}
MoveArrows=函数(){
$(文档).keydown(函数(e){
如果(e.keyCode==40){
如果(已选择==“”){
选择=0;
}如果((选择+1)<$('div.card')。长度){
//testvalue=$('div.card').next('hidden').index();
//log(“testvalue:”,testvalue)
选择++;
}
$('div.card').removeClass('selected');
while($('#'+parentDiv).find('div.card').eq(selected).hasClass('hidden')){
选择++;
}
$('#'+parentDiv).find('div.card').eq(selected).addClass('selected');
选择卡片($('#'+parentDiv).find('div.card').eq(已选))
返回false;
}
如果(e.keyCode==38){
如果(已选择==“”){
选择=0;
}否则,如果(选择>0){
选择--;
}
$('div.card').removeClass('selected');
while($('#'+parentDiv).find('div.card').eq(selected).hasClass('hidden')){
选择--;
}
$('#'+parentDiv).find('div.card').eq(selected).addClass('selected');
选择卡片($('#'+parentDiv).find('div.card').eq(已选))
返回false;
}
})
}
而执行循环以查找下一个非隐藏div

我的问题是,当条目太多时,向上/向下单击需要一段时间来选择下一个div


datatables如何处理筛选结果

javascript中客户端处理的一个选项是优秀的jQuery插件。这将实现删除其他服务器调用以对原始查询进行排序或筛选的目标


如果你希望数据在会话之间持久,你可能想考虑< /P> < P>,你可以把所有的数据取出来,然后把它放在某个表中,然后它有排序、搜索等的功能。我用这个。

“稍后”,你是指在同一个会话或不同的会话中吗?我编辑了我的问题,更具体地说,我需要一些关于datatables的信息。datatables使用HTML表格。服务器将查询结果输出到表中,然后在表元素上调用Datatables。与当前方法相比,它的优势在于,您可以直接进行排序、筛选、分页和搜索。
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;
    }
})
}