php - 在 PHP/MySQL 中,显示sql查询进度

  显示原文与译文双语对照的内容
0 0

现在我正在从php运行一些sql查询,首先我提交来自html表单的csv文件,然后从csv文件中读取第一列。 对于csv中的每一行,我都要做一个mysql查询。


 <form action="updateTrackingStatus.php" method="post" enctype="multipart/form-data">
 <input type="file" name="file" id="file" required/>
 <BR/><BR/>
 <input type="submit" id="upload" name="submit" title="Upload" class="submitButton"/>
 </form>

直到所有查询完成后,页面加载到浏览器中,然后到 updateTrackingStatus.php 页面。 如何显示当前页( 具有窗体的页) 上更新的行的进度或者数目。

如果我的csv文件很大,那么很长一段时间就会加载它,所以我想向用户显示进度栏。

时间: 原作者:

0 0

一种方法是使用 Ajax 。 你可以使用Ajax或者其他方式提交该文件。 然后在流程文件中将信息放入日志文件中,并在其他Ajax中。

  1. 使用随机参数向Ajax提交表单: & var= {timestamp}
  2. 将文件中的进度信息放入文件名等于 & var值的文件中。 所有jQuery插件插件都有功能,你可以从文件中读取进度。 你可以将文件放置在 public 文件夹中,并只获取 jQuery.get() 内容。
  3. 在你提交表单的页面上阅读关于Ajax进度的信息。

示例 helper 文件结构:12345 n ( 行总计) 23 n ( 当前行)

更易读但更慢的方式是 JSON: {"all": 21345,"当前":23 }

并且确保每次都覆盖该文件,并在完成后删除它。

...