在线考试系统的动态倒计时

时间:2017-09-12 17:55:31

标签: javascript php mysql

我正在开发PHP和MySQL的在线考试系统。每个考试都有自己的句号,存储在数据库中,系统一次显示一个问题。按下提交按钮后,它会提交问题,然后显示下一个。

我尝试使用以下代码作为计时器,它出现在学生身上,但是一旦第一个问题被提交,第二个问题出现,计时器就会从头开始。例如,如果时间是二十分钟,则在第二个问题出现时从二十分钟开始。

这是我使用的代码:

<html>
    <head></head>
    <body>
        <?php
            $db = mysql_connect("localhost", "root", "");
            mysql_select_db("exam", $db);
            $result = mysql_query("SELECT * FROM  test");
            while($row = mysql_fetch_array($result)) {
                $min = $row['minutes'];
            }
        ?>
        <div id="quiz-time-left"></div>
        <script type="text/javascript">
            var min = '<?php echo $min;?>';
            var total_seconds = 60 * min;
            var c_minutes = parseInt(total_seconds / 60);
            var c_seconds = parseInt(total_seconds % 60);

            function CheckTime() {
                document.getElementById("quiz-time-left").innerHTML = 'Time Left: ' + c_minutes + 'minutes' + c_seconds + 'seconds';
                if (total_seconds <= 0) {
                    setTimeout('document.quiz.submit()', 1);
                } else {
                    total_seconds = total_seconds - 1;
                    c_minutes = parseInt(total_seconds / 60);
                    c_seconds = parseInt(total_seconds % 60);
                    setTimeout("CheckTime()", 1000);
                }
            }
            setTimeout("CheckTime()", 1000);
        </script>
        <form name=quiz method="post" action="process.php"></form>

0 个答案:

没有答案