繁体   English   中英

Javascript不适用于php版本

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM