Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数据库倒计时(日期)_Javascript_Php_Mysql_Date_Countdown - Fatal编程技术网

Javascript 数据库倒计时(日期)

Javascript 数据库倒计时(日期),javascript,php,mysql,date,countdown,Javascript,Php,Mysql,Date,Countdown,所以我想做的是根据mysql的日期倒计时,让它在实时模式下运行,而不需要刷新 代码: 这是从数据库获取日期,其格式为: 2015-10-11 08:15:31 var initialTime=194801//将PHP代码中收到的总秒数放在这里。ie:var initialTime=; var秒=初始时间; 函数计时器(){ 变量天数=数学下限(秒/24/60/60); var hoursLeft=数学地板((秒)-(天*86400)); var小时=数学楼层(左小时/3600); var M

所以我想做的是根据mysql的日期倒计时,让它在实时模式下运行,而不需要刷新

代码:

这是从数据库获取日期,其格式为:

2015-10-11 08:15:31
var initialTime=194801//将PHP代码中收到的总秒数放在这里。ie:var initialTime=;
var秒=初始时间;
函数计时器(){
变量天数=数学下限(秒/24/60/60);
var hoursLeft=数学地板((秒)-(天*86400));
var小时=数学楼层(左小时/3600);
var Minutesleet=数学楼层((小时左)-(小时*3600));
var分钟=数学楼层(左分钟/60);
var剩余秒数=秒数%60;
如果(剩余秒数<10){
剩余秒数=“0”+剩余秒数;
}
document.getElementById('countdown').innerHTML=days+“dias”+hours+“horas”+minutes+“minuteos”+remainingSeconds+“segundos”;
如果(秒==0){
清除间隔(倒计时);
document.getElementById('countdown').innerHTML=“已完成”;
}否则{
秒--;
}
}
var countdownTimer=setInterval('timer()',1000)

最好只在mysql数据库中插入结束时间,并为类似dis的数据库分配一个变量

    $sql = "SELECT endtime FROM post";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
$Row = (mysqli_fetch_assoc($result));
$th = $Row['endtime'];    
}
echo $th
?> 
然后使用javascript运行倒计时,比如dis

//let get todays date here
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 $th; ?>';
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 timer() {
    var days        = Math.floor(seconds/24/60/60);
    var hoursLeft   = Math.floor((seconds) - (days*86400));
    var hours       = Math.floor(hoursLeft/3600);
    var minutesLeft = Math.floor((hoursLeft) - (hours*3600));
    var minutes     = Math.floor(minutesLeft/60);
    var remainingSeconds = seconds % 60;
    if (remainingSeconds < 10) {
        remainingSeconds = "0" + remainingSeconds; 
    }
    //document.getElementById('countdown').innerHTML = days + ":" + hours + ":" + minutes + ":" + remainingSeconds;
    document.getElementById('dday').innerHTML = days;
    document.getElementById('dhour').innerHTML =hours;
    document.getElementById('dmin').innerHTML =minutes;
    document.getElementById('dsecond').innerHTML =remainingSeconds;



    if (seconds == 0) {
        clearInterval(countdownTimer);
        document.getElementById('countdown').innerHTML = "Completed";
    } else {
        seconds--;
    }
}
var countdownTimer = setInterval('timer()', 1000);
//让我们在这里获取今天的日期
var today=新日期();
var DD=today.getDate();
var MM=today.getMonth()+1//一月是零!
var YYYY=today.getFullYear();
//让我们看看这两个日期之间的差异
var_DateFromDBProgEndDate='';
var ProgEndTime=新日期(_DateFromDBProgEndDate);
var TodayTime=新日期();
var differenceTravel=ProgEndTime.getTime()-TodayTime.getTime();
var秒=数学地板((差程)/(1000));
////////////////////////////////
var secdiffromtoday=秒;
var seconds=SecDiffFromToday;
函数计时器(){
变量天数=数学下限(秒/24/60/60);
var hoursLeft=数学地板((秒)-(天*86400));
var小时=数学楼层(左小时/3600);
var Minutesleet=数学楼层((小时左)-(小时*3600));
var分钟=数学楼层(左分钟/60);
var剩余秒数=秒数%60;
如果(剩余秒数<10){
剩余秒数=“0”+剩余秒数;
}
//document.getElementById('countdown').innerHTML=days+“:“+hours+”:“+minutes+”:“+remainingSeconds;
document.getElementById('dday').innerHTML=days;
document.getElementById('dhour')。innerHTML=hours;
document.getElementById('dmin')。innerHTML=minutes;
document.getElementById('dssecond')。innerHTML=remainingSeconds;
如果(秒==0){
清除间隔(倒计时);
document.getElementById('countdown').innerHTML=“已完成”;
}否则{
秒--;
}
}
var countdownTimer=setInterval('timer()',1000);
然后给它分配一个div
id=“倒计时”

您是否已经看过这里的示例?例如,有许多不同的答案,可以根据您的需要进行修改。我已经尝试过搜索和使用其他一些代码,但我仍然做不到。我甚至在获得帮助之前搜索了它:S。无论如何,提示是ty。那么你打算发布一些你尝试过但没有成功的代码吗。或者你希望我们给你免费代码?如果你不想表现出你的努力,你可以随时付钱给某人来做这项工作。@Bruno你可以发布你尝试过的其他代码以及它不起作用的原因吗?

var counter=new Date(2015,10,10,20,25,30);var counterElem=document.getElementById(“计数器”);setInterval(函数(){counter.setSeconds(counter.getSeconds()-1);counterElem.innerHTML=counter.getDate()+“dias”+counter.getHours()+“horas”+counter.getMinutes()+“minutos”+counter.getSeconds()+“segundos”;},1000);哦,非常感谢,但是我约会的格式是:2015-10-11 08:15:31我怎样才能将它转换成秒并粘贴到那里?!var初始时间=172801;您在
$remaining
PHP变量
var initialTime=”上已经有了它
…请参见initialTime变量旁边我答案中的注释示例只有一件事可以在代码中设置样式,比如增加字体大小?!当然,您可以在
文档中放入.getElementById('countdown').innerHTML=
部分您想要的任何html代码,就像您在php echo代码行中使用的样式一样,只需将php变量替换为javascript变量即可。我已经对其进行了样式设置,并且工作正常,但我想知道这是否可行。因此,我在数据库中输入了两个日期,一个是2015年10月2日,另一个是2015年10月5日,我想做的是,因为2015年10月2日已经过去了,我希望计数器自动开始计算到2015年10月5日的天数,我试图计算出来,但无法使它工作。它显示自2015年2月10日以来的负数已经过去。谢谢你的支持。
    $sql = "SELECT endtime FROM post";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
$Row = (mysqli_fetch_assoc($result));
$th = $Row['endtime'];    
}
echo $th
?> 
//let get todays date here
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 $th; ?>';
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 timer() {
    var days        = Math.floor(seconds/24/60/60);
    var hoursLeft   = Math.floor((seconds) - (days*86400));
    var hours       = Math.floor(hoursLeft/3600);
    var minutesLeft = Math.floor((hoursLeft) - (hours*3600));
    var minutes     = Math.floor(minutesLeft/60);
    var remainingSeconds = seconds % 60;
    if (remainingSeconds < 10) {
        remainingSeconds = "0" + remainingSeconds; 
    }
    //document.getElementById('countdown').innerHTML = days + ":" + hours + ":" + minutes + ":" + remainingSeconds;
    document.getElementById('dday').innerHTML = days;
    document.getElementById('dhour').innerHTML =hours;
    document.getElementById('dmin').innerHTML =minutes;
    document.getElementById('dsecond').innerHTML =remainingSeconds;



    if (seconds == 0) {
        clearInterval(countdownTimer);
        document.getElementById('countdown').innerHTML = "Completed";
    } else {
        seconds--;
    }
}
var countdownTimer = setInterval('timer()', 1000);