Hallo, habe mir ein graphen script gebastelt (abgeändert) aber probleme mit dem anpassen. Und zwar geht es mir darum ich hole mir Daten aus meiner DB und lasse die in die skala eintragen. Momentan nur den wert "gpunkte" wie ihr in der history seht, nun möchte ich allerdings noch mehr reinschreiben lassen sprich das feld heisst "tpunkte", nur kriege ich das einfach nicht eingebaut versuche es schon seit längerem.
Hier mal der Code in der History die die Daten an das graphen script weitergibt:
in der variable $getpid ist die Nummer des jeweiligen spielers gespeichert damit erstelle ich jeden graphen einzeln für alle spieler.
aufgerufen wird das ganze mit dem folgenden befehl :
Hier mal das script :
also wie gesagt ich möchte das er nicht nur den einen datensatz einträgt sondern auch eine extra skale mit dem anderen Werten. (in einer anderen Farbe)
Wäre super wenn ihr mir weiterhelfen könntet.
MFG
Hier mal der Code in der History die die Daten an das graphen script weitergibt:
PHP-Code:
<?php
$result = mysql_query ("SELECT * FROM history WHERE pid=".$getpid." ORDER BY id ASC LIMIT 0,15");
while ($row=mysql_fetch_array($result)) {
$werte[]="wert".$i."=".$row['gpunkte'];
$i++;
}
?>
aufgerufen wird das ganze mit dem folgenden befehl :
PHP-Code:
<?php
echo '<img src="grid.php?'.implode("&",$werte).'">';
?>
Hier mal das script :
PHP-Code:
<?php
// Werte zum Diagramm hinzufügen
foreach ($_GET as $name => $wert) {
if (substr($name,0,4) =="wert") {
$graphValues[] = $wert;
}
}
$maxValue=max(array_values($graphValues));
$minValue=min(array_values($graphValues));
$graphHeight=250;
for ($i=0;$i<count($graphValues);$i++){
$value=$graphValues[$i]-$minValue+20;
$graphValues[$i] = round($value*($graphHeight/($maxValue-$minValue+20)));
}
// PNG-Grafik definieren
header("Content-type: image/png");
$imgWidth=400;
$imgHeight=250;
// image-Objekt erstellen und Farben definieren
$image=imagecreate($imgWidth, $imgHeight);
$colorWhite=imagecolorallocate($image, 57, 57, 57);
$colorGrey=imagecolorallocate($image, 68, 68, 68);
$colorBlue=imagecolorallocate($image, 221, 8, 8);
// Rand für die Grafik erzeugen
imageline($image, 0, 0, 0, 250, $colorGrey);
imageline($image, 0, 0, 400, 0, $colorGrey);
imageline($image, 399, 0, 399, 249, $colorGrey);
imageline($image, 0, 249, 399, 249, $colorGrey);
// Raster erzeugen
for ($i=1; $i<18; $i++){
imageline($image, $i*25, 0, $i*25, 400, $colorGrey);
imageline($image, 0, $i*25, 400, $i*25, $colorGrey);
}
// Liniendiagramm erzeugen
for ($i=0; $i< count ($graphValues)-1; $i++){
imageline($image, $i*25, (250-$graphValues[$i]),
($i+1)*25, (250-$graphValues[$i+1]), $colorBlue);
}
// Diagramm ausgeben und Grafik
// aus dem Speicher entfernen
imagepng($image);
imagedestroy($image);
?>
Wäre super wenn ihr mir weiterhelfen könntet.
MFG
Kommentar