<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变量。 怎么做?
答案 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>
让我们知道它是否仍然令人困惑