-1

我正在尝试使用此处的示例填充 Flot 图表。我已经尝试了几个小时,但无法将 PHP 输出解析为 Javascript 变量。在这里分解它是带有硬编码数据的示例......

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<style type="text/css">
body { font-family: Verdana, Arial, sans-serif; font-size: 12px; }
#placeholder { width: 450px; height: 200px; }
</style>

<!--[if lte IE 8]><script type="text/javascript" language="javascript" src="excanvas.min.js"></script><![endif]-->
<script type="text/javascript" language="javascript" src="flot/jquery.js"></script>
<script type="text/javascript" language="javascript" src="flot/jquery.flot.js"></script>

<script type="text/javascript">
var d1 = [[1,7],[2,8],[3,7],[4,7]];

$(document).ready(function () {
    $.plot($("#placeholder"), [d1]);
});
</script>
</head>

<body>
    <div id="placeholder"></div>
</body>
</html>

上面使用的系列数据是我为查询 mysql 数据库而设置的 php 文件的输出。但是当我将两者合并为一个 .HTML 页面时,我无法将 PHP 输出解析到 javascript 绘图区域。下面是我所拥有的...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<style type="text/css">
body { font-family: Verdana, Arial, sans-serif; font-size: 12px; }
#placeholder { width: 450px; height: 200px; }
</style>

<!--[if lte IE 8]><script type="text/javascript" language="javascript" src="excanvas.min.js"></script><![endif]-->
<script type="text/javascript" language="javascript" src="flot/jquery.js"></script>
<script type="text/javascript" language="javascript" src="flot/jquery.flot.js"></script>

<?php

    $server = "myserver:1234";
    $user="dbuser";
    $password="userpass";  
    $database = "dbname";

    $connection = mysql_connect($server,$user,$password);
    $db = mysql_select_db($database,$connection);

    $query = "SELECT X, Y FROM dbtable";
    $result = mysql_query($query);        

    while($row = mysql_fetch_assoc($result))
    {
        $dataset1[] = array($row['X'],$row['Y']);
    }
    $final = json_encode($dataset1,JSON_NUMERIC_CHECK);

?>  

<script type="text/javascript">
var d1 = <?php echo $final; ?>;

$(document).ready(function () {
    $.plot($("#placeholder"), [d1]);
});
</script>
</head>

<body>
    <div id="placeholder"></div>
</body>
</html>

最后,如果可能的话,我也想动态更新这个图表,但首先要做的是!提前致谢:)

4

4 回答 4

2

但是当我将两者合并为一个.HTML页面时,我无法将 PHP 输出解析到 javascript 绘图区域

PHP 脚本需要有.php扩展名。如果您尝试在 HTML 页面中输出 PHP 代码,它只会显示为纯文本。如果您希望代码被执行(您可能会这样做),请将扩展名更改为.php.

请注意,可以使用一些.htaccess技巧在 HTML 页面中解析 PHP ,但我怀疑您是否需要。

于 2013-10-19T09:27:49.957 回答
0

你不回显 $final 变量

var d1 = <?php echo $final; ?>
于 2013-10-19T08:27:30.630 回答
0

尝试这个

var d1 = <?=$final; ?>;
于 2013-10-19T08:27:54.470 回答
0

你实际上并没有回显你的结果字符串。

<?= $final; ?>
于 2013-10-19T08:28:06.113 回答