如何动态显示页面上已执行的 mysql 查询数


How to dynamically show how many mysql queries have been executed on a page?

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

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

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

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

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

PHP 是服务器端的,它无法实时显示任何内容,您需要像 JavascriptAngular这样的客户端或任何框架的Jquery

我"撒谎"了一点,你可以实时做,但它非常黑客。您可以在此处阅读有关flush()的信息。我不会推荐它,无论如何,你不能只用 PHP 做进度条。

你应该做的是创建这个PHP文件作为postRequest类型,并使用AJAX查询它,它能够进行实时输出和进度条。有多个库可以帮助您。