# MySql Daten aufbereiten und mit Highchart ausgeben



## spikaner (16. Februar 2014)

Ich habe zum Testen ein kleines Script erstellt das Daten aus einer DB auslesen und mittels  http://www.highcharts.com ausgeben soll.

```
<?php 
require ("db.inc.php");
$connect    = @mysql_connect($mysql_host, $mysql_user, $mysql_pw); 
$db = mysql_select_db($mysql_db,$connect) or die ("Kann die Datenbank nicht lesen!"); 
// db sachen ende

$region[0] = "Jita";
$region[1] = "Yarebap"; //rest folgt später
$region[2] = "Amarr";
$region[3] = "Hek";
$region[4] = "Rens";
$region[5] = "Dodixie";

$sql = "
	SELECT 
		Time,
		Tritanium
	FROM
		mineraliean
	WHERE
		Ort = '".$region[0]."'
	ORDER BY
		Time
	DESC
";
$result = mysql_query($sql) or die(mysql_error());
while($row=mysql_fetch_array($result)){
	$datetime = $row[0] * 1000;
	$data[] = "[$datetime, $row[1]]";
}
```
und will es via

```
<script type="text/javascript" src="/js/jquery.min.js"></script>
<script type="text/javascript" src="/js/highcharts.js"></script>
<script type="text/javascript" >
var chart = new Highcharts.Chart({
      chart: {
         renderTo: 'container'
      },
      series: [{
         data: [<?php echo join($data, ',') ?>]
      }]
});
</script>
<div id="container" style="width:100%; height:400px;"></div>
```

Ausgeben aber ich bekomm nen weisen Bilschirm, der Seitenquelltext sagt folgendes aus


```
<html>
<head>
<script type="text/javascript" src="/js/jquery.min.js"></script>
<script type="text/javascript" src="/js/highcharts.js"></script>
</head>
<body>
<script type="text/javascript" >
var chart = new Highcharts.Chart({
      chart: {
         renderTo: 'container'
      },
      series: [{
         data: [[1391091002000, 5.03],[1391052659000, 5.00],[1391051417000, 5.00],[1391004601000, 4.94],[1390918201000, 5.17],[1390831801000, 4.91]
      }]
});
</script>
<div id="container" style="width:100%; height:400px;"></div>
</body>
</html>
```

Jemand eine Idee was da schief laufen könnte ?

mfg Spikaner


----------



## spikaner (16. Februar 2014)

Bin jetzt soweit das die Zeitleiste korekt Angezeigt wird aber keine grafiken hier mal das überarbeite script.
Ausgabe

```
<!DOCTYPE HTML>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>Highstock Example</title>

		<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
		<script type="text/javascript">
$(function() {
	$.getJSON('abfrage.php', function(data) {

		// Create the chart
		$('#container').highcharts('StockChart', {
			

			rangeSelector : {
				selected : 1
			},

			title : {
				text : 'AAPL Stock Price'
			},
			
			series : [{
				name : 'AAPL',
				data : data,
				tooltip: {
					valueDecimals: 2
				}
			}]
		});
	});

});

		</script>
	</head>
	<body>
<script src="./js/highstock.js"></script>
<script src="./js/modules/exporting.js"></script>

<div id="container" style="height: 500px; min-width: 500px"></div>
	</body>
</html>
```
Abfrage(php)

```
<?php 
require ("db.inc.php");
$connect    = @mysql_connect($mysql_host, $mysql_user, $mysql_pw); 
$db = mysql_select_db($mysql_db,$connect) or die ("Kann die Datenbank nicht lesen!"); 
// db sachen ende

$region[0] = "Jita";
$region[1] = "Yarebap"; //rest folgt später
$region[2] = "Amarr";
$region[3] = "Hek";
$region[4] = "Rens";
$region[5] = "Dodixie";

$sql = "
	SELECT 
		Tritanium,
		Time
	FROM
		mineraliean
	WHERE
		Ort = '".$region[0]."'
	ORDER BY
		Time
	DESC
";
$result = mysql_query($sql) or die(mysql_error());

while($row=mysql_fetch_array($result)){
$row[0] = str_replace(chr(13), "", $row[0]);
$row[0] = str_replace("\n", "", $row[0]);
$row[0] = str_replace(" ", "", $row[0]);
if( !empty ($row[0])){
$datetime = $row[1] * 1000; 
$data[] = [$datetime,$row[0]]; 

}
}
print json_encode($data, JSON_NUMERIC_CHECK);

// json_encode($data, JSON_NUMERIC_CHECK);

?>
```
abbfrage direkt aufgerufen

```
[[1391091002000,5.03],[1391052659000,5],[1391051417000,5],[1391004601000,4.94],[1390918201000,5.17],[1390831801000,4.91],[1390745402000,4.96],[1390659001000,4.98],[1390572601000,4.86],[1390486201000,4.84],[1390399802000,4.81],[1390313402000,4.84],[1390227001000,4.81],[1390140601000,4.74],[1390054201000,4.75],[1389967801000,4.8],[1389881401000,4.79],[1389795001000,4.79],[1389708601000,4.74],[1389622201000,4.78],[1389535801000,4.75],[1389449401000,4.82],[1389363001000,4.77],[1389276601000,4.76],[1389190202000,4.74],[1389103801000,4.7],[1389017402000,4.77],[1388931001000,4.74],[1388844601000,4.79],[1388758202000,4.73],[1388671802000,4.77],[1388585401000,4.76],[1388499001000,4.73],[1388412601000,4.75],[1388326201000,4.69],[1388239801000,4.72],[1388153402000,4.7],[1388067002000,4.69],[1387980601000,4.69],[1387894202000,4.69],[1387807801000,4.71],[1387721402000,4.76],[1387635001000,4.72],[1387548601000,4.73],[1387462201000,4.76],[1387375802000,4.7],[1387289401000,4.74],[1387203001000,4.7],[1387116601000,4.7],[1387030202000,4.71],[1386943802000,4.74],[1386857401000,4.73],[1386771001000,4.71],[1386684601000,4.71],[1386598202000,4.68],[1386511801000,4.7]]
```
mfg Spikaner


----------

