我正在尝试使用here中的示例填充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>
最后,如果可能的话,我也想动态更新这个图表,但首先要做的事情!在此先感谢:)
答案 0 :(得分:2)
但是当我将两者合并为一个 .HTML 页面时,我无法将PHP输出解析为javascript绘图区域
PHP脚本需要.php
扩展名。如果您尝试在HTML页面中输出PHP代码,它将只显示为纯文本。如果您希望代码执行(您可能会执行),请将扩展名更改为.php
。
请注意,在HTML页面中解析PHP可能会有一些.htaccess
tricks,但我怀疑你是否需要它。
答案 1 :(得分:0)
你没有回应$ final变量
var d1 = <?php echo $final; ?>
答案 2 :(得分:0)
试试这个
var d1 = <?=$final; ?>;
答案 3 :(得分:0)
你实际上并没有回应你的结果字符串。
<?= $final; ?>