Diagramm in HTML einbinden// Problem

Heyho allerseits,

ich möchte auf einer HTML Seite ein Diagramm einbinden. Ich habe eine Datei statistik.php in der Werte aus der Datenbank geholt werden und die prozentualen Anteile (von bestimmten Datensätzen)berechnet werden. In der statistik.php Datei rufe ich dann die Datei diagramm.php auf und übergebe die Werte. Die diagramm.php Datei erstellt dann mit diesen Werten ein Diagramm und speichert es als kreisdiagramm.gif ab.

Letzte Zeile in Diagramm.php speichert das Diagramm unter kreisdiagramm.gif ab
[PHP]imagegif($bild,„kreisdiagramm.gif“);[/PHP]

[PHP]$anzeigen =true;
require(„statistik-html.php“);[/PHP]
hier initalisiere ich die Variable $anzeige und rufe wieder die Html Seite Statistik auf.
Die Variable benötige ich für die Statistik-Html Seite, damit das Bild erst angezeigt wird, nachdem ein Diagramm erstellt wurde.

[HTML]
<div class=„manuell-eingabe“.>


Manuelle
Automatisierte





      <?php if(isset($anzeigen)){ ?>
   <img src="kreisdiagramm.gif"/> 
      <?php } ?>

    
          </div>
      </form>[/HTML]

hier überprüfe ich nun ob die Variable $anzeigen bereits initalisiert wurde. Wenn ja dann soll der das Bild kreisdiagramm.gif anzeigen.
Dies klappt auch beim 1. mal, sobald ich jedoch eine andere Datenbank auswähle (also ein neues Kreisdiagramm erstellen lasse) zeigt er mir nicht das neue Diagramm an, sondern weiterhin das vom ersten Durchgang. Was ich nicht verstehe daran ist, dass das Bild welches weiterhin anzeigt wird (vom 1. Durchgang) eigentlich überhaupt nicht mehr in dem Ordner auf meiner Festplatte exisiterit. Dises wurde überspeichert von dem neuen Bild (vom 2. Durchgang) aber auf der HTML-Seite wird jedoch weiterhin das Kreisdiagramm vom 1. Durchgang angezeigt.

Ich hoffe das ich mich einigermaßen verstädnlich ausgedrückt habe, wenn jedoch noch Fragen offen sind einfach bescheid sagen.

Bin für jeden Tipp/Hinweis dankbar:)

Liebe Grüße

Flo

Edit:

was ich jetzt gerade herausgefunden habe:
wenn ich reload (f5) drücke, bekomme ich das richtige Bild angezeigt

Der Browser nimmt das Bild aus dem Cache, nicht von der Festplatte. Ich hatte das gleiche Problem und habe daher das Bild ohne Umweg über Festplatte an den Browser gegeben. PHP-Dateien werden wohl nicht in den Cache genommen. Ich verwende die GD-Library und die letzten PHP Befehle sind wie folgt

[PHP]
//Send Image to browser
header(‚Content-Type: image/png‘); //Informiere, dass PNG kommt
imagepng($image); //Sende Daten zum Browser
imagedestroy($image); //Clear Memory
[/PHP]

Du musst dein WriteToFile durch etwas analoges ersetzen. Davon abgesehen ist es eh nicht gut, die Datei konstant zu benennen, denn es könnten 2 Benutzer zeitgleich eine Abfrage machen und einer erhält die falschen Daten. Alternativ erzeugst du bei jedem Aufruf dynamisch einen anderen Dateinamen.

Zusatzinfo: Die Memory-Methode oben vermeidet auch, dass du Grafikleichen auf dem System hast, die du bereinigen musst. Eine alternative wäre, eine temporäre Datei zu schreiben und die mittels PHP an den Browser zu senden. Ein Beispiel ist hier, http://www.wellho.net/forum/Writing-PHP/Sending-PDF-File-to-Browser-via-PHP.html aber ich meine es geht sogar einfacher, weiß aber nimmer genau wie.

Ahh hatte das mit dem Cache bereits vermutet. Ich versuch dann mal ne Randomzahl an den Dateinamen zu hängen.

Besten Dank