php - 如何动态显示一个页面执行了多少个mysql查询?

标签 php mysql

我有一个 PHP 页面,根据用户搜索的内容,可能会导致大量 mySQL 查询。对于需要很长时间的搜索,我想向用户展示正在发生的事情,这样他们就不会认为页面已损坏或挂起。我无法制作进度条,因为我不知道每次会执行多少个查询。这取决于搜索。我正在考虑在页面一侧有一个数字来对应查询的数量,并且这个数字会不断增加,直到搜索结束。

这就是我执行查询的方式。

$query = "SELECT name, id, direct_owner FROM $table WHERE parent_id = '$ownerID'";
$result = mysqli_query($connection, $query);

我为每次搜索提交一个表单,然后使用

if(isset($_POST['submit'])

最佳答案

PHP 是服务器端,它无法实时显示任何内容,您需要客户端,例如 JavascriptAngularJquery 适用于任何框架。

我“撒谎”了一点,你可以做到实时,但它非常hackish。您可以阅读有关 flush() here 的内容。我不会推荐它,而且无论如何,您不能仅使用 PHP 来制作进度条。

您应该做的是将此 PHP 文件创建为 postRequest 类型,并使用 AJAX 对其进行查询,该文件能够进行实时输出和进度条。有多个图书馆可以为您提供帮助。

关于php - 如何动态显示一个页面执行了多少个mysql查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32386943/

相关文章:

mysql - 计算开始时间和结束时间内某个时刻的记录

java - 如何处理DataIntegrityViolationException以获取具体原因?

php - 转换为 Codeigniter 查询

php - 验证访问 token 时出错 : Session has expired at unix time

php - 当用户在 Facebook 评论框上添加评论时发送电子邮件

php - SQL语法错误,这个错误信息是什么意思?

php - 使用 Eloquent 截断 laravel 中的所有表

php - 是否可以使用 cygwin 在 windows 机器上完全模拟 linux web 服务器?

mysql - MySQL中的十进制VS整数?

java - 执行 MySQL 查询每次增加检索的列数