Balkendiagramme erstellen

So, habs jetzt mit Google gemacht :smiley:

<?php

$sqlserver=getvalue(59311);
$user=getvalue(41755);
$password=getvalue(17356);
$database=getvalue(33225);
$dbhandler=mysqli_connect($sqlserver,$user,$password,$database);

$preis=array();
$i=0;
$datumvortag=date("Y-m-d",getvalue(28508)-24*60*60);
$datum=date("Y-m-d",getvalue(28508));
$datummorgen=date("Y-m-d",getvalue(28508)+24*60*60);

$datenvor= mysqli_query($dbhandler,"select * from awattar where datum='".$datumvortag."' order by stunde");
$daten= mysqli_query($dbhandler,"select * from awattar where datum='".$datum."' order by stunde");
$datenmorgen= mysqli_query($dbhandler,"select * from awattar where datum='".$datummorgen."' order by stunde");

while($zeile = mysqli_fetch_object($daten))
{
    $zeilevor=mysqli_fetch_object($datenvor);
    $zeilemorgen=mysqli_fetch_object($datenmorgen);
    $preis[$i][0]=$zeilevor->preis;
    $preis[$i][1]=$zeile->preis;
    $preis[$i][2]=$zeilemorgen->preis;
    $i++;
}

if ($i>0)
{
    $html="
    <html>
    <head>
        <script type=\"text/javascript\" src=\"https://www.gstatic.com/charts/loader.js\"></script>
        <script type=\"text/javascript\">
        google.charts.load('current', {'packages':['bar']});
        google.charts.setOnLoadCallback(drawChart);

        function drawChart() {
            var data = google.visualization.arrayToDataTable([
            ['Stunde', '".date("d.m.Y",getvalue(28508)-24*60*60)."', '".date("d.m.Y",getvalue(28508))."', '".date("d.m.Y",getvalue(28508)+24*60*60)."']";

    for ($i=0;$i<=23;$i++)
    {
        $html=$html.",".PHP_EOL."['".$i."',".number_format($preis[$i][0],4,".",",").",".number_format($preis[$i][1],4,".",",").",".number_format($preis[$i][2],4,".",",")."]";
    }
    $html=$html."
            ]);

            var options = {
            chart: {
                title: 'Awattar',
                subtitle: 'Stündliche Preise Cent/kWh'
            }
            };

            var chart = new google.charts.Bar(document.getElementById('columnchart_material'));

            chart.draw(data, google.charts.Bar.convertOptions(options));
        }
        </script>
    </head>
    <body>
        <div id=\"columnchart_material\" style=\"width: 100%; height: 500px;\"></div>
    </body>
    </html>
    ";
}
else
{
    $html="
    <html>
<head>
	<title></title>
</head>
<body>
<h2><span style=\"color:white;\"><span style=\"font-family:arial,helvetica,sans-serif;\">Keine Daten gefunden!</span></span></h2>
</body>
</html>
";
}
//HTML - Datei erzeugen
file_put_contents("c:\\Program Files\\Symcon\\webfront\\awattar.html",$html);
//damit wird die Anzeige aktualisiert
setvalue(42001,"<center><iframe src=\"awattar.html\" height=\"520px\" width=\"100%\" frameborder=\"0\"></iframe></center>");
mysqli_close($dbhandler);

Geht einfach und schnell und tu so wie gewünscht.

Update: ich hab das erweitert. In der Übersicht gibt es die Preise von gestern und für morgen.