Zum Inhalt springen

Empfohlene Beiträge

Geschrieben (bearbeitet)

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
Geschrieben

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?

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...