如何创建基于数据库条目不断更新的进度条

时间:2016-01-21 15:31:03

标签: javascript php mysql

好的,我有使用XAMPP在本地托管的MySQL数据库。我正在尝试编写一个进度条,该进度条将根据从数据库表返回的计数进行更新。这将显示一个位置的容量。因此,如果数据库中有X个条目,那么进度条将显示为X full。并且会在页面刷新时更新。我已经连接了我的数据库但是没有意识到使用进度条执行此操作的后勤或者是否可能。我愿意接受任何更好的解决方案。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用Long Polling在PHP中实现此目的。

创建一个小的PHP文件,该文件仅用于响应具有数据库条目数的ajax请求。

<强> entrycount.php

<?php
    session_start();
    if (!$_SESSION['LOGGED_IN'])
        exit();
    // get entry count from database
    exit($entry_count);
?>

使用链式超时在循环中轮询此值(直到进度条已满或满足其他条件)。

<强> HTML

function updateProgressBar()
{
    var request = new XMLHttpRequest();
    request.open("get", "entrycount.php", true);
    request.onreadystatechange = function()
    {
        if (request.readyState == 4 and request.status == 200)
        {
            var entryCount = request.responseText;
            // update progress bar with new count
            if (keepPolling)
                setTimeout(updateProgressBar, 5000);
        }
    }
    request.send();
}
setTimeout(updateProgressBar, 5000);