javascript - Dygraph,将 PHP/MYSQL 输出解析成图表
问题描述
我正在尝试使用 PHP 将数据从我的 MYSQL db(家庭物联网项目)直接拖到一个 dygraph 图表中(而不是提取、解析成 CSV 文件然后显示,这看起来很笨拙)。我相信我的路线应该可以工作,但显然我不正确,因为它没有正确显示(这里的小片段):
<html>
<head>
<body style="color: rgb(0, 0, 0); background-color: rgb(55, 55, 55)" alink="#ee0000" link="#0000ee" vlink="#551a8b">
<div style="text-align: center;"><span style="color: rgb(255, 255, 255);">Test<br></span>
<br>
<script type="text/javascript"
src="dygraph.js"></script>
</head>
<body>
<table style="margin:0px auto" border="0" width="500" align="center">
<tr>
<td style="background-color: #FFFFFF">
<div id="graphdiv2"
style="width:500px; height:300px;"></div>
<script type="text/javascript">
g2 = new Dygraph(document.getElementById("graphdiv2"),
<?php
$mysql_host = "localhost:3306";
$mysql_db = "mqtt";
$mysql_user = "*****";
$mysql_pw = "*****";
$connection = mysqli_connect($mysql_host, $mysql_user, $mysql_pw, $mysql_db);
$mysql_table = "analog_data";
if (!$connection) {
echo "Connection Error." . PHP_EOL;
echo "Error: " . mysqli_connect_errno() . PHP_EOL;
echo "Message: " . mysqli_connect_error() . PHP_EOL;
exit;
}
/* Select queries return a resultset */
$result = $connection->query("SELECT DATE_FORMAT(datum, '%Y/%m/%d %H:%i:%s') AS date, datum, analog0, analog1 FROM ".$mysql_table);
echo "[";
while($row = mysqli_fetch_array($result))
{
$utime = strtotime($row[datum]);
$diffutime = $utime - $lastutime;
if ($diffutime > 600) {
echo "["."new Date(\"".$row['date']."\")".",NaN,NaN],";
}
else {
echo "["."new Date(\"".$row['date']."\")".",".$row['analog0'].",".$row['analog1']."],";
}
$lastutime = strtotime($row['datum']);
}
echo "]";
$_SESSION["dcount"] = $dcount;
mysqli_close($connection);
?>,
{rightGap: 20,
connectSeparatedPoints: true,
labels: [ "Datum", "A0", "A1" ] } // options
);
</script>
</div>
</td>
</tr>
</table>
<div style="text-align: center;"><span style="color: rgb(255, 255, 255);">
<?php
echo "<br>".$_SESSION["dcount"]." D ";
?>
</span>
</body>
</html>
这导致
Uncaught SyntaxError: Unexpected token '<'
在最初的 <?php
如果我只在页面中单独使用 php 脚本,它会执行并显示我想注入到 dygraph 调用中的内容,所以我认为这是由于尝试在调用中执行 PHP 造成的。然而,这似乎是它在许多在线教程中的完成方式,这是主要来源https://geekynnotsogeeky.wordpress.com/2014/04/09/paasing-array-data-to-dygraphs-using-php /。
chrome 解析的源代码显示了完整的页面代码,它实际上并没有对任何脚本起作用。
谁能指出我应该如何做到这一点的例子,或者解释我的愚蠢错误是什么?
解决方案
推荐阅读
- linux - 如何嵌套for循环,正确构造bash?
- javascript - 变量在函数链的末尾没有更新
- google-apps-script - 在电子表格上格式化货币价值应用脚本
- python - Python Websocket不会永远运行
- c - Matlab Coder 生成的名为 i386 的变量
- python - Python: abstract property type validation
- apache-kafka - Mirrormaker2.0 vs 融合复制器
- python - How to add _ between group of digits in YAML using Python's PyYAML
- swift - 在 SwitfUI 中显示 UIImage 很暗 - Apple Watch
- azure-devops - How to download an image from Azure DevOps Services HTML Field using API