如何将php连接到javascript

时间:2014-01-22 04:33:31

标签: javascript php

我这里有代码......它不起作用......我不认为这是从php获取数据的正确方法。

“我怎样才能将这个生日的东西放到javascript代码中?”

<?php
include("../../connect.php");
    $yup=mysql_query("SELECT * FROM user_accounts WHERE stud_id='2'");
    while($up=mysql_fetch_array($yup))
        {
            echo"$up[birthdate]";
        }

?>

<script>
    CountDownTimer('$up[birthdate]', 'countdown');
    function CountDownTimer( dt,id)
    {

        var end = new Date(dt);

        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(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(id).innerHTML = days + 'days ';
            document.getElementById(id).innerHTML += hours + 'hrs ';
            document.getElementById(id).innerHTML += minutes + 'mins ';
            document.getElementById(id).innerHTML += seconds + 'secs';
        }

        timer = setInterval(showRemaining, 1000);
    }

</script>
<div id='countdown'></div>

2 个答案:

答案 0 :(得分:1)

如果您有多个来自数据库的生日(看起来那样),您可以从数据库结果中构建一个PHP数组,并将其作为JSON数组输出。

在PHP中:

$result = array();
while($up=mysql_fetch_array($yup))
        {
           array_push($result, $yup);
        }

然后,在适当的位置(如<head>):

<script>
dates = <? echo json_encode($result); ?>;
</script>

答案 1 :(得分:1)

要在文档的其余部分使用PHP中的变量,您需要使用PHP标记。所以, CountDownTimer('$ up [birthdate]','countdown'); 应该是

CountDownTimer(<?php echo($up['birthdate']); ?>, 'countdown');

或者,甚至更好:

CountDownTimer(<?=$up['birthdate']?>, 'countdown');