kostenloser Webspace werbefrei: lima-city


Graph mit falschen Werten

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    d******f

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. Autor dieses Themas

    d******f

    Es ist in dem Sinne kein Schwachsinn, weil ich nur 1 Datensatz auslese und in diesem die Daten 1 - 31 gespeichert sind.
  5. Dann sag das doch gleich, das ist für ein Diagramm eine eher ungewöhnlich aufgebaute Tabelle.
    Das Ganze kann aber trotzdem immer noch nicht funktionieren, wie heißen denn die Spalten der Tabelle? Mach einfach mal ein DESCRIBE <tabelle>;, dann können wir das am besten sehen.

    Lg cookies
  6. Autor dieses Themas

    d******f

    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]. "";
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!