Data stored in a SQL database can be processed in many ways. I will describe a method of presenting them as charts available through a web browser
Presenting the data requires 2 elements:
Step I - PHP script to be placed at the web server. Examle name: "sql.php"
<?php // if you want to send request from a html file stored // locally uncomment the line below //header('Access-Control-Allow-Origin: *'); // in the commands "mysql_..." change the following: // xxxx - your SQL server address (np: www.abc.com) // yyyy - user name // zzzz - password // qqqq - database name // watch out for the capital letters! mysql_connect("xxxx", "yyyy", "zzzz") or die(mysql_error()); mysql_select_db("qqqq") or die(mysql_error()); // describe the date ragne - here: the last 3 days $phpdate=time()- (3*24 * 60 * 60); $datefrom = date( 'Y-m-d H:i:s', $phpdate ); $dateto = date( 'Y-m-d H:i:s', time() ); $data = mysql_query("SELECT * FROM Temperatures WHERE `Timestamp` > '$datefrom' AND `Timestamp` < '$dateto' ORDER BY Timestamp ASC") or die(mysql_error()); $rowcount = mysql_num_rows($data); $counter=1; // prepare the answer needed by Highcharts: echo '{ "title": {"text": "Temperatura zewnętrzna"}, "chart": {"renderTo": "container"}, "series": [{"name": "Zewnętrzna", "data":['; // fill the data from the database, // here - the data of interest is stored in column "Temp4": while($r = mysql_fetch_assoc($data)) { echo '['.strtotime($r["Timestamp"])*1000 . ', '.$r["Temp4"]/10 .']'; if($counter < $rowcount){ echo ", "; } $counter=$counter+1; } // finalize the answer echo' ]}]}'; mysql_free_result($data); ?>
Step II. Preparing the html file, which will read and present the data
<!DOCTYPE HTML> <html> <head> <html xmlns="http://www.w3c.org/1999/xhtml"; xml:lang="pl" lang="pl"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Wykres Temperatury</title> <!-- pliki js znajdziesz na www.jquery.com i www.highcharts.com--> <script type="text/javascript" src="/js/jquery.min.js"></script> <script type="text/javascript" src="/js/highcharts.js"></script> <script type="text/javascript" src="/js/grid.js"></script> <script type="text/javascript"> var options; $(document).ready(function() { options = { //there are vary many.... //for details go to www.highcharts.com //or check out the source of the example linked at the bottom }; $.getJSON("http://www.twoj_serwer.pl/sql.php", function(json) { var options1 = $.extend(json, options); chart = new Highcharts.Chart(options1); }); }); </script> </head> <body> <div id="container" style="width: 800px; height: 400px; margin: 0 auto"></div> </body> </html>
An example of an extended list of used parameters is availabe at http://www.edom-plc.pl/wago/temperatury.html