我有一個記錄實時傳感器數據的MySQL數據庫。在我的表中,我有ID(自動遞增),TimeStamp和SensorData。我正在記錄多個傳感器(壓力,溫度等),並將它們全部存儲在SensorData列中。它是空間分隔的。所以它看起來是這樣的:解析SQL結果和積使用PHP(FLOT或HighChart)
33.5 108.3 443.2 44.2 779.553
我想繪製實時在網站上的這些信息。到目前爲止,我已經安裝海軍報,它會詢問我的數據庫,並返回結果,但我不知道如何解析出SensorData列,所以我可以爲每個傳感器的陰謀。
正在發送數據到SQL服務器的設備不能被修改,所以我將永遠在一個列中的多個傳感器的條目。這裏是我目前用於Flot的代碼:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Flot Examples</title>
<link href="layout.css" rel="stylesheet" type="text/css">
<!--[if lte IE 8]><script language="javascript" type="text/javascript" src="js/flot/excanvas.min.js"></script><![endif]-->
<script language="javascript" type="text/javascript" src="js/flot/jquery.js"></script>
<script language="javascript" type="text/javascript" src="js/flot/jquery.flot.js"></script>
</head>
<body>
<h1>Apex HiPoint, LLC</h1>
<div id="placeholder" style="width:600px;height:300px;"></div>
<?php
$server = "www.freesql.org";
$user="un";
$password="pw";
$database = "testdb";
$connection = mysql_connect($server,$user,$password);
$db = mysql_select_db($database,$connection);
$query = "SELECT Id, TME FROM SData";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result))
{
$dataset1[] = array($row['Time'],$row['SensorData']);
}
?>
<script type="text/javascript">
$(function() {
var dataset1 = <?php echo json_encode($dataset1); ?>;
$.plot($("#placeholder"), [ dataset1 ]);
});
</script>
</body>
</html>
所以我最終的目標是讓一個網頁包含多個圖。 RealTime中每個傳感器的一個繪圖。 15-30秒更新是可以的。而且我無法修改數據庫的結構,因此所有傳感器數據都包含在該記錄中。我是新的PHP,MySQL和這些其他好東西,所以請理解。
感謝您的幫助!
謝謝你的輸入。 MySQL沒有我能找到的分割函數,但那正是我的目標。我發現下面的代碼:$結果= mysql_query( 「選擇SUBSTRING_INDEX(傳感器, '\噸',1)作爲傳感器,localtme從雜物」);這將打印出第一個傳感器值。如果我將「1」更改爲「2」,它將打印出第一個和第二個值。我只是不知道如何分割結果。 – user1876087