gpt4 book ai didi

php - "Loading Record Number [##] of [Total]"进度条

转载 作者:可可西里 更新时间:2023-10-31 23:49:38 26 4
gpt4 key购买 nike

我有一个问题可能没有解决方案,但希望有人能解决这个问题。

我用 PHP/MySQL 开发了一个网站,该网站使用 HTML/CSS 来处理工资单。当用户提交过去(2 周)期间的工资单时,它会处理每个员工的工时。对于员工少于 50 人的公司,它可以处理得相当快,但对于员工超过 100 人的公司,可能需要相当长的时间来处理。理想情况下,我想要的不是通用的“加载”栏或估计的“35% 加载”栏,因为每个公司的工资单在员 worker 数上会有很大差异。

最好的解决方案是,一旦他们提交了支付期,我就可以从 PHP/MySQL 处理器/DB 传递总记录数,然后在每个员工从 PHP 处理器处理时更新该数字,因此例如,用户会看到“Processing Employee 35 of 134”,其中“35”会随着每条记录的处理而递增和更新。或者,如果不可能,我什至可以使用动态列表,例如:

正在处理 134 名员工中的第 1 名
处理员工 2 of 134
处理员工 3 of 134
处理员工 4 of 134
等等……

Ajax 或 Javascript 似乎是实现这一目标的最佳选择,但我还不知道如何使用它们来实现这一目标。任何帮助或见解将不胜感激。如果我也发现了什么,我会继续寻找并更新这篇文章。

最佳答案

我已经通过在迭代批处理时调用 PHP 中的 flush() 命令来完成此操作,但是您可能会变得棘手并更新隐藏字段并在 setTimeOut 上使用 javascript 函数检查该值并更新进度条。

和进度条:

我会用动态列表做的是:

 $count = 0;

// some db query

// start output
echo "<ul>";

// iterate through records and perform dynamic insert

$count ++;
echo "<li>Processed " . $count . " records.</li>";
flush();

// end iteration

// end output
echo "</ul>";

如果您只想更新每 % 的记录,那么就像您所说的那样获取总计数,然后可能在 if 子句中使用模数运算符。例如,如果您有 50 条记录并且您希望每 5 条记录更新一次,if($count mod 5 == 0) { echo ... flush() }

关于php - "Loading Record Number [##] of [Total]"进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11475765/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com