从 mysql 到 PHP 获取 dygraph.js 的 csv 文件
Getting a csv file from mysql over PHP for dygraph.js
我的目标是创建一个网站,用 dygraph.js 显示我的 mysql 数据库中的数据。该网站应在每次打开时加载数据,因为我的 Mysql 数据库每小时接收一次新数据。
我的问题是我不知道如何制作一个 PHP 网站,returns 一个 csv 文件(不下载)。
基本上我的问题是:是否可以连接 mysql 和 dygraph?如果是,怎么做?
好的,我有办法了。
对于所有遇到同样问题的人:
我从 glaskugelsehen 找到了一个非常好的教程:https://glaskugelsehen.wordpress.com/2014/05/24/tutorial-speicherung-von-arduino-messdaten-auf-webserver-und-deren-darstellung-teil-5/
它是德语,但您可以在不了解语言的情况下使用代码
因为教程真的很旧,所以我不得不将它翻译成 mysqli 并做一些小的改动。然后我得到了这个 php 代码:
<html>
<head>
<br>
<script type="text/javascript"src="libraries/dygraph.min.js"></script>
<link rel="stylesheet" src="CSS/dygraph.css" />
</head>
<body style="color: rgb(0, 0, 0); background-color: rgb(77, 77, 77)" alink="#ee0000" link="#0000ee" vlink="#551a8b">
<div style="text-align: center;"><span style="color: rgb(255, 255, 255);">Daten aus MySQL<br></span>
<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 = "****";
$mysql_db = "****";
$mysql_user = "****";
$mysql_pw = "****";
$connection = new mysqli($mysql_host, $mysql_user, $mysql_pw, $mysql_db); // Check connection
if ($connection->connect_error) {
die("Connection failed: " . $connection->connect_error);
}
$abfrage = "SELECT DATE_FORMAT(Zeit, '%Y/%m/%d %H:%i:%s') AS date, Temperatur, Luftfeuchtigkeit FROM messung";
$ergebnis = mysqli_query($connection,$abfrage);
echo "["; // start of the 2 dimensional array
while($row = mysqli_fetch_array($ergebnis))
{
$utime = strtotime($row[datum]);
$diffutime = $utime - $lastutime;
if ($diffutime > 600) {
echo "["."new Date(\"".$row[date]."\")".",NaN,NaN],";
}
else {
echo "["."new Date(\"".$row[date]."\")".",".$row[Temperatur].",".$row[Luftfeuchtigkeit]."],";
}
$lastutime = strtotime($row[datum]);
}
echo "]";
mysqli_close($connection);
?> ,
{ rightGap: 20,
connectSeparatedPoints: true,
labels: [ "Zeit", "Temperatur", "Luftfeuchtigkeit" ] } // options
);
</script>
</td>
</tr>
</table>
</div>
</body>
</html>
如果有人想使用此代码,他必须填写他的 mysql 信息。
希望这对您有所帮助
我的目标是创建一个网站,用 dygraph.js 显示我的 mysql 数据库中的数据。该网站应在每次打开时加载数据,因为我的 Mysql 数据库每小时接收一次新数据。
我的问题是我不知道如何制作一个 PHP 网站,returns 一个 csv 文件(不下载)。
基本上我的问题是:是否可以连接 mysql 和 dygraph?如果是,怎么做?
好的,我有办法了。
对于所有遇到同样问题的人: 我从 glaskugelsehen 找到了一个非常好的教程:https://glaskugelsehen.wordpress.com/2014/05/24/tutorial-speicherung-von-arduino-messdaten-auf-webserver-und-deren-darstellung-teil-5/
它是德语,但您可以在不了解语言的情况下使用代码 因为教程真的很旧,所以我不得不将它翻译成 mysqli 并做一些小的改动。然后我得到了这个 php 代码:
<html>
<head>
<br>
<script type="text/javascript"src="libraries/dygraph.min.js"></script>
<link rel="stylesheet" src="CSS/dygraph.css" />
</head>
<body style="color: rgb(0, 0, 0); background-color: rgb(77, 77, 77)" alink="#ee0000" link="#0000ee" vlink="#551a8b">
<div style="text-align: center;"><span style="color: rgb(255, 255, 255);">Daten aus MySQL<br></span>
<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 = "****";
$mysql_db = "****";
$mysql_user = "****";
$mysql_pw = "****";
$connection = new mysqli($mysql_host, $mysql_user, $mysql_pw, $mysql_db); // Check connection
if ($connection->connect_error) {
die("Connection failed: " . $connection->connect_error);
}
$abfrage = "SELECT DATE_FORMAT(Zeit, '%Y/%m/%d %H:%i:%s') AS date, Temperatur, Luftfeuchtigkeit FROM messung";
$ergebnis = mysqli_query($connection,$abfrage);
echo "["; // start of the 2 dimensional array
while($row = mysqli_fetch_array($ergebnis))
{
$utime = strtotime($row[datum]);
$diffutime = $utime - $lastutime;
if ($diffutime > 600) {
echo "["."new Date(\"".$row[date]."\")".",NaN,NaN],";
}
else {
echo "["."new Date(\"".$row[date]."\")".",".$row[Temperatur].",".$row[Luftfeuchtigkeit]."],";
}
$lastutime = strtotime($row[datum]);
}
echo "]";
mysqli_close($connection);
?> ,
{ rightGap: 20,
connectSeparatedPoints: true,
labels: [ "Zeit", "Temperatur", "Luftfeuchtigkeit" ] } // options
);
</script>
</td>
</tr>
</table>
</div>
</body>
</html>
如果有人想使用此代码,他必须填写他的 mysql 信息。
希望这对您有所帮助