Zum Inhalt springen

JPGraph & PHP - Werte aus Datenbank


Empfohlene Beiträge

Guten Tag,

möchte gerne als kleine Nebenarbeit für meinen Vater ein Liniendiagramm aus Werten einer Datenbank erstellen.
Mittels PHP haben ich bereits die Datenbank in meinem Skript eingebunden.

Datenbank abfrage ist auch bereits gemacht und bekomm die Daten in ein Array zurück.

datum = Datetime
wert = Double

Array
(
    [0] => 2018-12-27 08:00:00
    [1] => 2018-12-27 08:05:00
    [2] => 2018-12-27 08:10:00
    [3] => 2018-12-27 08:15:00
)
Array
(
    [0] => 5
    [1] => 6.2
    [2] => 7.6
    [3] => 8.5
)

Beim ausführen des Skriptes funktioniert alles.

<?php // content="text/plain; charset=utf-8"

require_once ('src/jpgraph.php');
require_once ('src/jpgraph_line.php');
require_once ('src/jpgraph_date.php');

//DB
$db = mysqli_connect ( "localhost" , "root" , "", "test" ) 
        or die("Keine Verbindung zur Datenbank!"); 

$sql = "SELECT *

            FROM temp";

    $result = mysqli_query($db, $sql) OR die(mysql_error());


//Array

$i=0;

while ($array=mysqli_fetch_array($result)) {

        $datum[$i]= strtotime($array[0]);

        $betrag[$i]=$array[1];

$i++;
    
   
    
//Graph erstellen
$graph = new Graph(600,400);    
    

$graph->SetScale('datlin',5,20);
$graph->xaxis->scale->SetDateFormat('d/m H:i');

$lineplot = new LinePlot($betrag, $datum);
    

$lineplot->value-> Show();

$graph->xaxis->SetLabelAngle(90);

$graph->SetMargin(40,40,30,130);
$graph->legend->SetFrameWeight(1);

    
$graph->Add($lineplot);

// Graph ausgeben

$graph->Stroke();

Doch wenn ich jetzt neue Daten hinzufüge, z.B. mit 1 Tag unterschied dann verzieht sich das Diagramm extrem

Kann man das Diagramm auf einen Tag begrenzen? Oder dass es jeden Tag ein neues erstellt?

Vielen Dank für eure Hilfe!

Bearbeitet von Kebsi
Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin,

 

Zitat

Kann man das Diagramm auf einen Tag begrenzen?

Dafür müsstest du sicher nur die SQL-Abfrage um die Where-Klausel ergänzen.

Am 28.12.2018 um 16:21 schrieb Kebsi:

Oder dass es jeden Tag ein neues erstellt?

Meinst du "für jeden Tag ein neues.."?

Geht auch, dann musst du deinen Code ein bisschen anders gestalten. Erst die Daten sammeln, für die einzelnen Tage die Diagramme erstellen und dann die Diagramme nacheinander ausgeben.

 

Eine Mischung aus 5-Minuten und Tages-Intervallen sieht auf dem ersten Blick sicher etwas komisch aus, aber müsste es nicht wieder "normal" aussehen, sobald mehrere Tage drin sind?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...