[英]Javascript won't work with php variabiles
我的php和javascript代码有很大的问题。
while($row = mysqli_fetch_array($doquery, MYSQLI_ASSOC)) {
echo ("
<!-- Inizio Item-->
<script type='text/javascript'>
var end = new Date('".$row['fine']."');
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;
function showRemaining() {
var now = new Date();
var distance = end - now;
if (distance < 0) {
clearInterval(timer);
document.getElementById('countdown".$row['id']."').innerHTML = 'EXPIRED!';
return;
}
var days = Math.floor(distance / _day);
var hours = Math.floor((distance % _day) / _hour);
var minutes = Math.floor((distance % _hour) / _minute);
var seconds = Math.floor((distance % _minute) / _second);
document.getElementById('countdown".$row['id']."').innerHTML = days + ' Days ';
document.getElementById('countdown".$row['id']."').innerHTML += hours + ' Hours ';
document.getElementById('countdown".$row['id']."').innerHTML += minutes + ' Mins ';
document.getElementById('countdown".$row['id']."').innerHTML += seconds + ' Secs';
}
</script>
<div id='countdown".$row['id']."'></div>
");
}
如果我使用此代码,则会在倒计时中得到此代码:
NaN days NaN Hours Nan Mins NaN Secs
我已经检查了输出
$row['fine'];
并以javascript要求的正确格式输出。 实际上,输出为08/01/2017 3:45 PM
实际上,如果我尝试将日期直接放在代码中,如下所示:
...
var end = new Date('08/01/2016 3:45 PM ');
...
它显示了应该执行的计时器。
试试这个(假设您只有1行数据),然后告诉我结果:
$time_data = array();
while($row = mysqli_fetch_array($doquery, MYSQLI_ASSOC)) {
$time_data['fine'][]=$row['fine'];
$time_data['id'][]=$row['id']
}
<!-- Inizio Item-->
<script type='text/javascript'>
var end = new Date('<?php echo trim($time_data['fine'][0]); ?>');
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour * 24;
var timer;
function showRemaining() {
var now = new Date();
var distance = end - now;
if (distance < 0) {
clearInterval(timer);
document.getElementById('countdown<?php echo $time_data['id'][0]; ?>').innerHTML = 'EXPIRED!';
return;
}
var days = Math.floor(distance / _day);
var hours = Math.floor((distance % _day) / _hour);
var minutes = Math.floor((distance % _hour) / _minute);
var seconds = Math.floor((distance % _minute) / _second);
document.getElementById('countdown<?php echo $time_data['id'][0]; ?>').innerHTML = days + ' Days ';
document.getElementById('countdown<?php echo $time_data['id'][0]; ?>').innerHTML += hours + ' Hours ';
document.getElementById('countdown<?php echo $time_data['id'][0]; ?>').innerHTML += minutes + ' Mins ';
document.getElementById('countdown<?php echo $time_data['id'][0]; ?>').innerHTML += seconds + ' Secs';
}
<div id='countdown<?php echo $time_data['id'][0]; ?>'></div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.