PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   jpgraph erstellen (https://www.php-resource.de/forum/php-developer-forum/102577-jpgraph-erstellen.html)

Timy 15-01-2012 23:49

jpgraph erstellen
 
Hallo!

Ich bin neu hier im Forum.
Ich habe mal mit hilfe aus dem Inet mir ein Script zum erstellen eines Graphen gebastelt.
Leider bekomme ich keine Ausgabe.
Die Abfragen aus der Datenbank funktionieren und ich kann sie mir auch per echo vor dem erstellen das graphen Anzeigen lassen.
Aber so wie das Script jetzt ist, erscheint nur eine weiße Seite.

Hat jemand eventuell eine idee?

PHP-Code:

<?php

include ('dbconnection.php');
include (
'usr/share/src/jpgraph3/jpgraph.php');
include (
'usr/share/src/jpgraph3/jpgraph_line.php');
include (
'usr/share/src/jpgraph3/jpgraph_mgraph.php');
include (
'usr/share/src/jpgraph3/jpgraph_date.php');


    
$abfrage_tag "SELECT zeit, bad, wohnzimmer FROM $Table ORDER BY id DESC LIMIT 96";
    
$ausgabe_tag mysql_query($abfrage_tag);

    
$bad_durchschnitt "";
    
$wohnzimmer_durchschnitt "";
    
    for(
$i 0$Export ""$i mysql_num_rows($ausgabe_tag); $i++)
    {
    
$Daten mysql_fetch_object($ausgabe_tag);

    
$bad[] = $Daten->bad;
    
$bad_durchschnitt $bad_durchschnitt $bad_durchschnitt;
    
$wohnzimmer[] = $Daten->wohnzimmer;
    
$wohnzimmer_durchschnitt $wohnzimmer_durchschnitt $wohnzimmer_durchschnitt;
    
$zeit[] = $Daten->zeit;
    }

    
$bad_durchschnitt round(($bad_durchschnitt $bad_durchschnitt 96), 2);
    
$wohnzimmer_durchschnitt round(($wohnzimmer_durchschnitt $wohnzimmer_durchschnitt 96), 2);

    
//echo $wohnzimmer[0];
    //echo $wohnzimmer[1];
    //echo $bad[0];
    //echo $bad[1];
    //echo $zeit[1];
    //echo $bad_durchschnitt;
    //echo $wohnzimmer_durchschnitt;

    
function TimeCallback$aVal) {

        return 
Date ('H:i',$aVal);
     }

    
//Erzeugen des Graphen
    
$graph = new Graph(700,200"auto");
    
$graph->SetScale('datint',"auto","auto","auto","auto");
    
$graph->SetY2Scale('int',"auto","auto");
    
$lineplot_wohnzimmer = new LinePlot($wohnzimmer$zeit);
    
$lineplot_bad = new LinePlot($bad$zeit);
    
    
//Grafik Formatieren
    
$graph->img->SetMargin(50,50,20,60);
    
$graph->SetColor("#000000");
    
$graph->SetMarginColor("#333333");
    
$graph->SetShadow();
    
    
    
//Title
    
$graph->title->Set("Wohnzimmer/Bad");
    
$graph->title->SetColor("#CCCCCC");
    
$graph->title->SetFont(FF_FONT2,FS_BOLD);
    
$graph->subtitle->Set("Aktuell:$wohnzimmer[0] C / $bad[0] C   Durchschnitt: $wohnzimmer_durchschnitt C / $bad_durchschnitt C");
    
$graph->subtitle->SetColor("#CCCCCC");
    
    
//Legende
    
$graph->legend->Pos(0.50,0.95,"center","bottom");
    
$graph->legend->SetLayout(LEGEND_HOR);
    
$graph->legend->SetShadow(false);
    
$lineplot_wohnzimmer->SetLegend("Temperatur Wohnzimmer (C) ");
    
$lineplot_bad->SetLegend("Temperatur Bad (C) ");
    
    
//X-Achse
    
$graph->xaxis->SetColor("#CCCCCC");
    
$graph->xaxis->title->Set("Zeit");
    
$graph->xaxis->SetLabelFormatCallback('TimeCallback');
    
$graph->xaxis->title->SetColor("#CCCCCC");
    
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
    
    
//Y-Achse
    
$graph->yaxis->SetColor("#FF7777");
    
$graph->y2axis->SetColor("#1111ee");
    
$graph->yaxis->title->Set("Grad Celsius");
    
$graph->y2axis->title->Set("Grad Celsius");
    
$graph->yaxis->title->SetColor("#CCCCCC");
    
$graph->y2axis->title->SetColor("#CCCCCC");
    
$graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
    
$graph->y2axis->title->SetFont(FF_FONT1,FS_BOLD);
    
    
//Plot 1
    
$lineplot_wohnzimmer->SetColor("#FF8888");
    
$lineplot_wohnzimmer->SetFillColor("#EE0000@0.6");
    
$lineplot_wohnzimmer->SetWeight(1);
    
    
//Plot 2
    
$lineplot_bad->SetColor("#8888ff");
    
$lineplot_bad->SetFillColor("#2222DD@0.6");
    
$lineplot_bad->SetWeight(1);
    
    
//Die Plots der Grafik hinzufuegen
    
$graph->Add($lineplot_wohnzimmer);
    
$graph->AddY2($lineplot_bad);
    
    
//Graphen zusammen bauen
    
$mgraph = new MGraph(700,400,"auto");
    
$mgraph->SetMargin(2,2,2,2);
    
$mgraph->Add($graph,0,0);
    
$graph->Stroke();
    
?>

Schonmal Danke im vorraus....

Gruss
Tim

AmicaNoctis 16-01-2012 01:27

Hallo und willkommen im Forum,

was passiert, wenn du die finale stroke()-Methode auskommentierst und stattdessen eine echo-Anweisung hinschreibst?

Hast du FAQ 2-11 schon gelesen?

Gruß,

Amica

Timy 16-01-2012 09:57

Auf was soll ich das echo schreiben?

echo $graph ???

Ich habe mir mal den link von Dir angeschaut.
Ich denke zwar nicht das 30 Sekunden (soll Standard sein) nicht reichen.
Aber ich kann es mal testen.

edit: Ich habe in der php.ini den max_execution_time von 30 auf 60 hochgesetzt.

Brachte aber leider kein Änderung.

Dann habe ich mal versucht mit der Ausgabe eine Datei zu schreiben.

$graph->Stroke($graphfile);

Die Datei legt das Script erst garnicht an.
Irgendwas muss es vorher schon stoppen.

lg
Tim

AmicaNoctis 16-01-2012 19:21

Dann bau echo-Anweisungen ein, um zu sehen, bis wohin das Script kommt. Einfach am Anfang $debug_position = 0; setzen und aller paar Codezeilen echo $debug_position++, "\n"; ausführen, dann siehst du, bis zu welcher Nummer er es schafft. Das meinte ich mit echo.

Gruß,

Amica

Timy 17-01-2012 00:32

Hallo!

Erstmal habe ich ein Fehler gefunden (bzw. mehrere). :rolleyes:

1. habe ich oben bei den Include den Pfad vertauscht. (peinlich).
2. konnte er mit der zeit aus meiner sql nichts angfangen. Jetzt habe ich sie umgewandelt in Unix Zeit und nu geht es.

Ein kleines Problem habe ich aber immer noch. Er zeigt mir zwar ein graph, aber die Bezeichnung der x-achse (TimeCallback) funktioniert nicht.
Desweiteren funktioniert der Durchschnitt nicht.

Ich werde weiter experimentieren.

lg
Tim


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:46 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG