2

我想显示计数器。我正在写一个我们正在更新数据库记录的地方。

我在这里打印计数器值——

            flush();
            echo "<hr><div align=\"center\">";
            echo 'loading ..... '.$counter; //echo "</br>";
            echo "</div>";
            $counter++;

但它再次在下一行打印值..

在此处输入图像描述

但我希望像这样更新值
在此处输入图像描述

这个会一直改的。。

帮助我或指导我..

4

2 回答 2

3

您在这里所做的是生成HTML;一旦它被写入,就没有“收回它”。

为了让您的计数器“更新”,您将需要执行所谓的文档对象模型操作(DOM 实际上是您网站的所有组成部分,当然包括所有 HTML 标记)。这通常使用 JavaScript 完成,而 jQuery 可以进一步简化任务。

此外,您的数据库插入将发生得如此之快(在几分之一秒内),以至于没有理由在您的用户之前“实时”显示更新的计数器。

如果您真的坚持在执行 PHP 时动态更新站点上的信息,则需要研究 AJAX。

于 2012-11-28T07:23:51.063 回答
1

您必须使用 Javascript 才能做到这一点。你可以使用类似的东西:

    flush();
    echo "<hr><div align=\"center\">";
    echo 'loading ..... '. '<span class = "toDecr">' . $counter . '</span>';
    echo "</div>";
    $counter++;

然后使用 jQuery 创建一个脚本(jQuery 不是强制性的,你可以用原始的 Javascript 来做,但是 jQuery 绝对更容易恕我直言):

    $('.toDecr').html(parseInt($('.toDecr').html(), 10) - 1)

我不知道你想在递减之间等待的延迟,所以我把它留空(如果你想每秒都这样做,那么只需使用一个循环,或者它真的取决于你的 PHP、Ajax 的执行是要走的路)。

于 2012-11-28T07:34:17.647 回答