【问题标题】:How to display a php variable into html如何将php变量显示为html
【发布时间】:2012-01-06 23:31:51
【问题描述】:

我只是想知道如何将 javascript 变量显示到 html 中?

下面是我的php代码:

var duration = <? echo $postduration; ?>;

(上面的变量使用php检索一个php变量)

谢谢

【问题讨论】:

  • 你上面写的不是 JavaScript 检索变量。 PHP 正在将 $postduration 的值输出到稍后将由浏览器作为 JavaScript 运行的文本中。如果您不了解事情的顺序,那么您会遇到很多麻烦。
  • uses javascript to retrieve a php variable 里有些东西不太好闻。您是否希望 javascript 读取存储在服务器上的值?如果是这种情况,您需要的是 AJAX。
  • 我的意思是我想使用上面的代码“var duration = ;”从 $postduration 中获取值(即 100),然后使用 html 通过检索 javascript 变量来显示它
  • @user1131869 PS 这个站点不是调试帮助台。请考虑将您的整个 php 文件重新发布到一个新的、精心设计的问题中,该问题不假设任何内容。

标签: php html


【解决方案1】:

使用jQuery 使您的代码更简洁:

(1) 将此添加到您的&lt;head&gt;:

<script src="http://code.jquery.com/jquery-latest.min.js"></script>

(2) 在要显示变量的地方创建一个元素,并给它一个ID,例如:

<span id="printHere"></span>

(3) 在你的 JavaScript 中添加这个:

var duration="<?php echo $postduration ?>";
$('#printHere').html(duration);

对于您的 PHP,请尝试以下两个选项:

<?=$postduration?>

或者...

<?php echo $postduration; ?>

【讨论】:

  • 嗨,我实际上已经是 jquery 代码,但它不显示文本。我有相关的脚本标签,但它没有在我的范围内显示任何内容。我将在 Jsfiddle 中显示我的代码,以便您查看。 jsfiddle.net/SLbKX/4,我需要在 jquery 上方的 php 标签中显示 php 变量还是可以在 jquery 下方显示,因为目前 php 变量在 jquery 代码下方
  • 它应该在上面,这样你就可以引用一个已经存在的变量了。假设你已经按照它在 jsfiddle 中的样子布置了它,如果 PHP 正在生成页面,它应该可以工作。你正在编辑一个 .php 文件,对吧?
  • 是的,它是一个 php 文件,令人惊讶的是它仍然没有显示它,我的代码在这个更新的小提琴中,jsfiddle.net/SLbKX/7,我看不到任何错误但我不知道为什么不工作
  • @user1131869 当您在浏览器中按 CTRL+U 时,您应该会看到 JavaScript 中写入的值。请参阅我对 PHP 语法的更新。
  • 仍然没有在span中显示,所有拼写都是正确的,看不到错误,尝试了你的php语法但仍然没有显示任何内容
【解决方案2】:

为什么不使用直接将php变量显示到html中?

让我们说$postduration 回声“一些”。这是回显“some”的javascript代码:

Here is <script>document.write(duration)</script> text.

输出如下:

Here is some text.

【讨论】:

  • 因为我想使用 javascript 对该变量进行计算,而 php 在计算发生变化时需要页面加载而 javascript 没有
  • @user1131869 你会用 PHP 还是 Javascript 来计算?
【解决方案3】:
document.getElementById('yourElementId').innerHtml = duration;

【讨论】:

  • 这可能是最明智的方式。也许从 'yourDiv' 更改为 'yourElementID' ?
【解决方案4】:

这是一种将 DIV 添加到页面的方法,其中 DIV 的内容是您的 PHP var 的值:

 <script>
 var duration = <? echo $postduration; ?>;
 var div = document.createElement("DIV");
 div.appendChild(document.createTextNode(duration));
 document.body.appendChild(div);
 </script>

【讨论】:

    【解决方案5】:

    不,等等,那是错误的。首先,上面的 javascript 不会从任何地方“检索”任何东西(无论是 php,也不是其他任何地方)。 php生成javascript,意思是如果$postduration为5,你会得到var duration = 5;,如果postduration="test",你会得到var duration = test;(这是无效的javascript,崩溃/导致在您的应用程序中发生不需要的事情。

    最后,要将变量从 javascript 获取到 html,您可以替换一些其他对象的内容(使用 innerHTML 或类似的东西),或者创建一个新元素并将其插入到页面中。

    此处示例:http://jsfiddle.net/SLbKX/

    【讨论】:

    • 我只想知道 标签可以有 2 个 id,因为我想在一个跨度中显示来自变量的内容,但我在想是否可以使用 1 个 id 来显示来自变量的内容和另一个 id 在该跨度上进行一些计算?
    【解决方案6】:

    代码应该是这样的,用"{$}"放一个变量,""很重要。

    $_var=2;
    echo "hi var is {$_var}";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-10
      • 1970-01-01
      • 1970-01-01
      • 2015-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多