使用PHP和Javascript进行多次倒计时

时间:2015-12-08 08:19:10

标签: javascript php mysql

我目前遇到问题但不确定如何解决。我是php和javascript编码的新手,如果有更简单的方法,请纠正我。

我的问题是我想让一个倒数计时器为mysql数据库中的多个数据工作。我已经制作了一个成功的倒计时时间函数,只能使用php中的if语句处理一个数据,但是当我尝试使用php中的while语句使用多个数据时,它不起作用。这是我的PHP代码< / p>

//TODAY'S DATE
$today = time();

//FETCHES DATE AND TIME FOR THE EVENT FROM DATABASE
$sql = "SELECT * FROM post";
$result = mysqli_query($conn, $sql);

while ($row = mysqli_fetch_assoc($result)) {
    $title = $row['title'];
    $cname = $row['cname'];
    $team = $row['team'];
    $description = $row['description'];
    $endtime = $row['endtime'];

    echo "<tr>";
    echo "<td width='16%'><strong>Title:</strong></td>";
    echo "<td width='16%'>$title</td>";
    echo "</tr><tr>";
    echo "<td width='16%'><strong>Client name:</strong></td>";
    echo "<td width='16%'>$cname</td>";
    echo "</tr><tr>";
    echo "<td width='16%'><strong>Team:</strong></td>";
    echo "<td width='16%'>$team</td>";
    echo "</tr><tr>";
    echo "<td width='16%'><strong>Description:</strong></td>";
    echo "<td width='16%'>$description</td>";
    echo "</tr><tr>";
    echo "<td width='16%'><strong>End time:</strong></td>";
    echo "<td width='16%'>$endtime</td>";
    echo "</tr><tr>";
    echo"</BR>";
    echo"</BR>";
}

$conn->close();

下面是我的javascript,假设要运行倒计时

<script language="JavaScript"> 
var today = new Date();
var DD = today.getDate();
var MM = today.getMonth()+1; //January is 0!
var YYYY = today.getFullYear();
//let get the Difference in Sec btw the two dates
var _DateFromDBProgEndDate = '<?php echo $endtime; ?>';
var ProgEndTime = new Date(_DateFromDBProgEndDate);
var TodayTime = new Date();

var differenceTravel = ProgEndTime.getTime()- TodayTime.getTime() ;
var seconds = Math.floor((differenceTravel) / (1000));
////////////////////////////////
var SecDiffFromToday = seconds;
var seconds = SecDiffFromToday;

function pad(n) {
   // utility function to pad a number to 2 digits:
   return ('0' + n).substr(-2); 
}

function timer() {
    var todaySeconds = Math.floor(new Date().getTime() / 1000);
    // collect the html first in an array
    var html = [];
    // keep track whether there are still counters not yet zero:
    var allDone = true;
    // go through the list of dates:
    endDatesInSeconds.forEach(function (endDateSeconds) {
        var totalSeconds = endDateSeconds - todaySeconds;
        var days        = Math.floor(totalSeconds/24/60/60);
        var seconds     = Math.floor(totalSeconds - days*86400);
        var hours       = Math.floor(seconds/3600);
        seconds         = Math.floor(seconds - hours*3600);
        var minutes     = Math.floor(seconds/60);
        seconds         = seconds % 60;
        // add a part of html
        html.push(
            totalSeconds <= 0 
               ? 'project time Completed'
               : days + ":" + pad(hours) + ":" + pad(minutes) + ":" + pad(seconds));
        // when at least one counter is not complete, we are not done:
        allDone = allDone && totalSeconds <= 0;
    });
    // now put the html in the document:
    document.getElementById('countdown').innerHTML = html.join('<br/>');
    if (allDone) {
        clearInterval(countdownTimer);
    }
}

var countdownTimer = setInterval('timer()', 1000);
</script> 

javascript通过从php(var _DateFromDBProgEndDate = '<?php echo $endtime; ?>';

获取值来运行倒计时

0 个答案:

没有答案