Graph mit falschen Werten
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angezeigt code
auslese
benutzen
code
dank
date
datensatz
datum
diagramm
dynamisch eintragen
funktionieren
graue hintergrund
header
inhalt
jahr
monat
not
schleife
schwachsinn
spalten
-
Hallo Leute,
ich erstelle mit dem folgenden Script einen Liniengraphen, welcher an sich auch funktioniert, doch nur wenn ich die Werte per Hand eintrage (wie beim Wert[0]). Nun möchte ich die Werte allerdings dynamisch eintragen lassen, was nicht funktioniert.
Es wird nur der graue Hintergrund angezeigt.
<?php header("Content-type: image/png"); $imgWidth = '460'; $imgHeight = '250'; $theImage = imagecreate($imgWidth, $imgHeight); $colorGrey = imagecolorallocate($theImage, 215, 215, 215); $colorBlue = imagecolorallocate($theImage, 0, 50, 255); include "connect.php"; $monat = date("n"); $jahr = date("Y"); $zeit = $monat . $jahr; $inhalt3="SELECT * from affenkot_kurspreis where zeit='$zeit'"; $inhalt2=mysql_query($inhalt3) or die("Could not get inhalt stats"); $inhalt=mysql_fetch_array($inhalt2); $wert[0] = "0"; $wert[1] = $inhalt['1']; $wert[2] = $inhalt['2']; $wert[3] = $inhalt['3']; $wert[4] = $inhalt['4']; $wert[5] = $inhalt['5']; $wert[6] = $inhalt['6']; $wert[7] = $inhalt['7']; $wert[8] = $inhalt['8']; $wert[9] = $inhalt['9']; $wert[10] = $inhalt['10']; $wert[11] = $inhalt['11']; $wert[12] = $inhalt['12']; $wert[13] = $inhalt['13']; $wert[14] = $inhalt['14']; $wert[15] = $inhalt['15']; $wert[16] = $inhalt['16']; $wert[17] = $inhalt['17']; $wert[18] = $inhalt['18']; $wert[19] = $inhalt['19']; $wert[20] = $inhalt['20']; $wert[21] = $inhalt['21']; $wert[22] = $inhalt['22']; $wert[23] = $inhalt['23']; $wert[24] = $inhalt['24']; $wert[25] = $inhalt['25']; $wert[26] = $inhalt['26']; $wert[27] = $inhalt['27']; $wert[28] = $inhalt['28']; $wert[29] = $inhalt['29']; $wert[30] = $inhalt['30']; $countBalken = count($wert); for($i=0;$i<$countBalken;$i++){ if($maxHeight < $wert[$i]){ $maxHeight = $wert[$i]; } } $dynWidth = round(($imgWidth-2) / ($countBalken-1), 0); @$dynHeight = ($imgHeight-1) / $maxHeight; for ($i=0; $i<$countBalken; $i++){ $aktNewSize = @round($dynHeight * $wert[$i]); $aktNewSize2 = @round($dynHeight * $wert[$i+1]); if($i+1 < $countBalken){ imageline($theImage, $i*$dynWidth, ($imgHeight-$aktNewSize), ($i+1)*$dynWidth, ($imgHeight-$aktNewSize2), $colorBlue); } } imagepng($theImage); imagedestroy($theImage); ?>
BITTE HELFT MIR! DANKE -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Der Code ist Schwachsinn, das kann gar nicht funktionieren. mysql_fetch_array() gibt immer nur einen Datensatz zurück. Da du aber mehrere auslesen willst, musst du eine Schleife benutzen:
<?php while ($inhalt = mysql_fetch_array($inhalt2)) { //... } ?>
Lg cookies
PS: Und außerdem solltest du dir auch in der Schleife dringend mal die var_dump()-Ausgabe ansehen, dann so wie das aussieht hast du keine Ahnung von den Datenbankfunktionen in PHP.
Beitrag zuletzt geändert: 6.2.2011 12:19:07 von cookies -
Es ist in dem Sinne kein Schwachsinn, weil ich nur 1 Datensatz auslese und in diesem die Daten 1 - 31 gespeichert sind.
-
Hab es nun geschafft!!!
Puh aber Danke trotzdem für deine Bemühungen...
Ich habe die Werte einfach so eingefügt:$wert[X] = "" .$inhalt[X]. "";
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage