【问题标题】:Bringing data from PHP into D3.JS将数据从 PHP 导入 D3.JS
【发布时间】:2013-02-10 04:29:47
【问题描述】:

我有这个:

<script type="text/javascript">
var dataset = [ 5, 10, 15, 20, 25 ];

        d3.select("body").selectAll("p")
            .data(dataset)
            .enter()
            .append("p")
            .text("New paragraph!");
</script>

它有效。然后我一直在学习 MySQL/PHP,并在一个小型数据库中保存了一些数据。

<?php
if ( $results ) {
foreach($results as $row) {
    echo $row->eventName . "<br>";
}
} else {
echo 'No rows found.';
}
?>

这与它的其余部分一起使用,并显示一些随机事件名称,如电影、购物、工作。

我找到了this tutorial,了解如何将 PHP 变量引入 Javascript,但无法弄清楚。为了简化而不是试图找出数组,我什至切换到只是试图找出数据本身,但甚至无法得到它。这是我最后一次尝试的:

    <?php
$php_var = 1;
?>

<script type="text/javascript">
var dataset = <?php echo $php_var; ?>

        d3.select("body").selectAll("p")
            .data(dataset)
            .enter()
            .append("p")
            .text("New paragraph!");
</script>

然后我想也许一个数组会起作用所以尝试了这个

<?php
$php_var = array(
    5, 10, 15, 20, 25);
?>

<script type="text/javascript">
var dataset = $php_var

        d3.select("body").selectAll("p")
            .data(dataset)
            .enter()
            .append("p")
            .text("New paragraph!");
</script>

但也没有运气。谁能给我一些建议或指点我如何将数据从 PHP 获取到 Javascript 的教程?

【问题讨论】:

    标签: php javascript variables d3.js


    【解决方案1】:

    尝试使用PHP's json_encode function,然后嵌入数据:

    <?php
        $dataset = array(5, 10, 15, 20, 25);
    ?>
    <script>
        var dataset = <?php echo json_encode($dataset); ?>;
        // ...
    </script>
    

    【讨论】:

    • 没关系,不知道为什么,但保存为 .html 不起作用,但将其保存为 .php,现在它可以工作了。我猜当您只是将 时,并非所有功能都有效
    【解决方案2】:

    我意识到这对聚会来说有点晚了,但是除非您的服务器设置为这样做,否则您不能在 .html 文件中包含 php 并成功解析它。

    您需要将以下 sn-ps 之一添加到您的 .htaccess 中:

    RemoveHandler .html .htm
    AddType application/x-httpd-php .php .htm .html
    

    <FilesMatch "\.html$">
    ForceType application/x-httpd-php
    </FilesMatch>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-23
      • 2018-07-07
      • 1970-01-01
      • 2017-02-08
      • 1970-01-01
      • 2020-10-31
      • 1970-01-01
      • 2017-09-22
      相关资源
      最近更新 更多