如何将php变量分配给JS变量

时间:2013-11-02 09:06:49

标签: javascript php

    <html>
    <head>

    <script type="text/javascript">
    var t;
 alert(t);
    </script>

    </head>

    <body>

    <?php

    $dbhost = 'localhost';
    $dbuser = 'root';
    $dbpass = 'pass';

    $t_id = 6;

    $con = new PDO("mysql:host=$dbhost;dbname=testing",$dbuser,$dbpass);               

    $q = $con-> prepare("query");

    $q -> bindParam(1,$t_id);

    $q -> execute();
    $res = $q->fetchAll();

    foreach($res as $r)
    {
            $ab = $r[0];
        $abc = $r[1];
    }          
     echo $ab;
     echo $abc;  
    ?>
    <script type="text/javascript">
    t = <?php echo $abc;?>;

    </script>
    </body>
    </html>

当我在分配php变量后立即警告“t”变量时,它工作正常。 但我想在页面的头部使用“t”。 实际上我只是想从DB设置JS变量。 怎么做?

4 个答案:

答案 0 :(得分:3)

希望它可以帮到你,

<script type="text/javascript">
    var t = "<?php echo $abc;?>"; //if not initialised variable t before use var
</script>

答案 1 :(得分:1)

尝试

<script type="text/javascript">
    t = '<?php echo $abc;?>';
</script>

答案 2 :(得分:1)

我建议你把php代码放在任何html输出之前作为文件的第一部分。只要传输一个html字符,就会发送文档的完整标题,您将无法再更改标题信息。

要将php变量输出到javascript,如果$ abc是一个字符串,请使用以下代码:

<script type="text/javascript">
    "use strict";
    var t = '<?php echo $abc; ?>';
    alert(t);
</script>

以及如果$ abc是数值的以下内容:

<script type="text/javascript">
    "use strict";
    var t = <?php echo $abc; ?>;
    alert(t);
</script>

我强烈建议您使用

"use strict";

线。它将在开发过程中为您提供更好的调试输出。例如,它会告诉您是否要为尚未启动的变量赋值。帮助很多,相信我; - )。

答案 3 :(得分:0)

 <html>
    <head>
//move your php code to head of the page
    <?php

    $dbhost = 'localhost';
    $dbuser = 'root';
    $dbpass = 'pass';

    $t_id = 6;

    $con = new PDO("mysql:host=$dbhost;dbname=testing",$dbuser,$dbpass);               

    $q = $con-> prepare("query");

    $q -> bindParam(1,$t_id);

    $q -> execute();
    $res = $q->fetchAll();

    foreach($res as $r)
    {
            $ab = $r[0];
        $abc = $r[1];
    }          
     echo $ab;
     echo $abc;  
    ?>

    <script type="text/javascript">
       var t;
       t = <?php echo $abc;?>; //add the database variable here you want to use      
       alert(t);
    </script>

    </head>
    <body>       

    </body>
    </html>

让我们知道它是否仍然令人困惑