Jquery加载屏幕通过PHP覆盖一个大的mysql查询?

我正处于我的客户端的报告工具中,如果它们是X天,它基本上可以动态重建报告。

问题是报告是用PHP重建的,其中一些可能非常大,意味着20-40秒的加载时间。

目前,它只是在执行查询时挂起页面。

然而,我想要做的是在查询开始之前将一些jquery加载覆盖放置到页面中,然后当查询完成时,重定向到另一个页面(将显示结果)。

我是否正确地认为,只要我在运行查询之前将html加载到页面中,就应该显示加载屏幕,然后一旦查询完成,我可以放置另一部分HTML来对其他页面进行元刷新(显然,标题重定向是不可能的,因为标题已经被发送)。

如果这是正确的,任何人都可以推荐任何基于jquery的加载插件吗?

非常感谢

不确定,你写的是什么意思

我是否正确地认为,只要我在运行查询之前将html加载到页面中,就应该显示加载屏幕,然后一旦查询完成,我可以放置另一部分HTML来对其他页面进行元刷新(显然,标题重定向是不可能的,因为标题已经被发送)。

但是,让我告诉你,我们之前做过的事情:

通过单击XLS-Export的导出按钮,显示模式覆盖,并发送导出请求。 从那时起,JS一直在寻找具有特定名称的cookie。 在服务器端,生成导出,并在完成cookie后与XLS数据一起发送。 JS识别出已发送的cookie并隐藏了叠加层。

希望这可以帮助。

您应该使用PHP函数flush()查看刷新输出到屏幕。 它会告诉用户实际发生的事情。 有很多教程和代码片段向您展示如何使用flush()设置JS / JQuery进度条。 一个例子:

   Progress Bar    
document.getElementById("progress").innerHTML="
 
"; document.getElementById("information").innerHTML="'.$i.' row(s) processed."; '; // This is for the buffer achieve the minimum size in order to flush data echo str_repeat(' ',1024*64); // Send output to browser immediately flush(); // Sleep one second so we can see the delay sleep(1); } // Tell user that the process is completed echo ''; ?>