Problem mit Graph Script

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #31
    Hallo,

    da bin ich wieder , habe verscuht folgendes einzubauen.
    Ich möchte einfach einen zweiten vom ersten unabhängigen graphen erstellen nur kriege ich dann immer fehler.

    Habe die datei so erweitert :

    PHP-Code:
    $result mysql_query ("SELECT DISTINCT `gpunkte`, `cpunkte`, `kpunkte`, `tpunkte`,
     `alletode`, `allekills`, 
    `Pkills`, `Ptode`  FROM history WHERE pid="
    .$getpid." ORDER BY id ASC LIMIT 0,15");
    while (
    $row=mysql_fetch_array($result)) {
    $scor[]="scor".$i."=".$row['gpunkte'];
    $tpunkte[]="tscor".$i."=".$row['tpunkte'];
    $kpunkte[]="kscor".$i."=".$row['kpunkte'];
    $cpunkte[]="cscor".$i."=".$row['cpunkte'];
    $kill[]="kills".$i."=".$row['allekills'];
    $tode[]="tode".$i."=".$row['alletode'];

    $panzer[]="pk".$i."=".$row['Pkills'];
    $panzer[]="pt".$i."=".$row['Ptode']; 
    also um diesen array :

    PHP-Code:
    $panzer[]="pk".$i."=".$row['Pkills'];
    $panzer[]="pt".$i."=".$row['Ptode']; 
    und in der grip.php folgendermaßen :

    PHP-Code:
       if (substr($name,0,2) =="pk") {
       
    $graphValues6[] = $wert
     } 
     
       if (
    substr($name,0,2) =="pt") {
       
    $graphValues7[] = $wert
     } 
    dass wird dann noch umgerechnet auf die max größe meines graphen. und dann wird das ganze gezeichnet :

    PHP-Code:
    for ($i=0$icount ($graphValues6)-1$i++){
    imageline($image$i*25, (250-$graphValues6[$i]), 
        (
    $i+1)*25, (250-$graphValues6[$i+1]), $colorlila);
    }

    for (
    $i=0$icount ($graphValues7)-1$i++){
    imageline($image$i*25, (250-$graphValues7[$i]), 
        (
    $i+1)*25, (250-$graphValues7[$i+1]), $colorred);

    und aufrufen tue ich das ganze mit

    PHP-Code:
    echo '<img src="grid.php?'.implode("&",$panzer).'">'
    nur kriege ich dann immer einen fehler siehe hier :
    Klick

    wie ihr seht werden die daten richtig ausgelesen und übergeben, aber es als wenn das ganze nur geht wenn ich alle arrays in der schleife aufrufe und nicht nur $panzer. DEnn sobald ich den array $panzer hinzufüge geht auch der erste graph nicht mehr erweiter ich diesen dann um den array $panzer geht der wieder.
    Warum kann ich nicht die einzelne arrays ausgeben bzw anzeigen lassen und nicht nur die ganzen?


    MFG

    Kommentar


    • #32
      Warning: array_values(): The argument should be an array in /home/p3271/html/Statistik/Stats_Abfragen/grid.php on line 36

      Warning: Wrong parameter count for max() in /home/p3271/html/Statistik/Stats_Abfragen/grid.php on line 36
      was meinst du, was das bedeutet und wo man erst mal hingucken sollte?

      Kommentar


      • #33
        Original geschrieben von penizillin
        was meinst du, was das bedeutet und wo man erst mal hingucken sollte?
        also ich würde sagen man sollte in diese zeile gucken .

        in der zeile ist aber auch nur der neue code für den array $panzer.
        der bemängelt alle neu hinzugefügten codes die mit dem neuen array bzw den werten darin zu tun hat.

        Kann es sein das der graph einfach nicht mehr wie 6 stück anzeigen kann?

        Kommentar


        • #34
          warum sollte in grid.php etwas mit $panzer stehen? kontrolliere es noch mal.

          schau dir den link an, den du generierst:
          Code:
          grid.php?pk=61&pt=17
          wieso sah er früher anders aus?

          Kommentar


          • #35
            Original geschrieben von penizillin
            warum sollte in grid.php etwas mit $panzer stehen? kontrolliere es noch mal.

            schau dir den link an, den du generierst:
            Code:
            grid.php?pk=61&pt=17
            wieso sah er früher anders aus?
            hi, da hast du mich falsch verstanden. ich meinte das im array $panzer ja die abfragen festgelegt werden .

            PHP-Code:
            $panzer[]="pk".$i."=".$row['Pkills']; 
            das pk wird ja hinter die grid.php gesetzt.
            ich meinte das der fehler zb bei diesem code auftaucht :

            PHP-Code:
            if (substr($name,0,2) =="pk") {
               
            $graphValues3[] = $wert
             } 
            und das hat ja auch mit dem array $panzer zu tun bzw dem inhalt.

            Kommentar


            • #36
              was ist $name?

              Kommentar


              • #37
                Original geschrieben von penizillin
                was ist $name?
                gibt mit den zahlen danach die länge der dahinter zu schreibenden werte an sprich "pk"

                also ich poste hier mal meine grid.php


                PHP-Code:
                <?php

                // Werte zum Diagramm hinzufügen
                foreach ($_GET as $name => $wert) {
                 if (
                substr($name,0,2) =="pk") {
                   
                $graphValues[] = $wert
                 } 
                 
                    if (
                substr($name,0,2) =="jk") {
                   
                $graphValues1[] = $wert
                 }   

                 if (
                substr($name,0,2) =="lk") {
                   
                $graphValues2[] = $wert
                 } 
                 
                 if (
                substr($name,0,2) =="hk") {
                   
                $graphValues3[] = $wert
                 } 
                 
                 if (
                substr($name,0,2) =="tk") {
                   
                $graphValues4[] = $wert
                 } 
                 
                 if (
                substr($name,0,2) =="bk") {
                   
                $graphValues5[] = $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)));
                }


                $maxValue=max(array_values($graphValues1));
                $minValue=min(array_values($graphValues1));
                $graphHeight=250;

                for (
                $i=0;$i<count($graphValues1);$i++){
                 
                $value=$graphValues1[$i]-$minValue+20;
                 
                $graphValues1[$i] = round($value*($graphHeight/($maxValue-$minValue+20)));
                }

                $maxValue=max(array_values($graphValues1));
                $minValue=min(array_values($graphValues1));
                $graphHeight=250;

                for (
                $i=0;$i<count($graphValues2);$i++){
                 
                $value=$graphValues2[$i]-$minValue+20;
                 
                $graphValues2[$i] = round($value*($graphHeight/($maxValue-$minValue+20)));
                }


                $maxValue=max(array_values($graphValues3));
                $minValue=min(array_values($graphValues3));
                $graphHeight=250;

                for (
                $i=0;$i<count($graphValues3);$i++){
                 
                $value=$graphValues3[$i]-$minValue+20;
                 
                $graphValues3[$i] = round($value*($graphHeight/($maxValue-$minValue+20)));
                }


                $maxValue=max(array_values($graphValues4));
                $minValue=min(array_values($graphValues4));
                $graphHeight=250;

                for (
                $i=0;$i<count($graphValues4);$i++){
                 
                $value=$graphValues4[$i]-$minValue+20;
                 
                $graphValues4[$i] = round($value*($graphHeight/($maxValue-$minValue+20)));
                }


                $maxValue=max(array_values($graphValues5));
                $minValue=min(array_values($graphValues5));
                $graphHeight=250;

                for (
                $i=0;$i<count($graphValues5);$i++){
                 
                $value=$graphValues5[$i]-$minValue+20;
                 
                $graphValues5[$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($image575757);
                $colorGrey=imagecolorallocate($image686868);
                $colorred=imagecolorallocate($image22188);
                $colorgreen=imagecolorallocate($image302550);
                $colorgelb=imagecolorallocate($image2302330);
                $colorblue=imagecolorallocate($image229192);
                $colororange=imagecolorallocate($image0127138);
                $colorlila=imagecolorallocate($image2030205);








                // Rand für die Grafik erzeugen 
                imageline($image000250$colorGrey);
                imageline($image004000$colorGrey);
                imageline($image3990399249$colorGrey);
                imageline($image0249399249$colorGrey);


                // Raster erzeugen

                for ($i=1$i<18$i++){
                imageline($image$i*250$i*25400$colorGrey);
                imageline($image0$i*25400$i*25$colorGrey);
                }
                for (
                $i=0$icount ($graphValues)-1$i++){
                imageline($image$i*25, (250-$graphValues[$i]), 
                    (
                $i+1)*25, (250-$graphValues[$i+1]), $colorlila);
                }


                for (
                $i=0$icount ($graphValues1)-1$i++){
                imageline($image$i*25, (250-$graphValues1[$i]), 
                    (
                $i+1)*25, (250-$graphValues1[$i+1]), $colorred);
                }

                for (
                $i=0$icount ($graphValues2)-1$i++){
                imageline($image$i*25, (250-$graphValues2[$i]), 
                    (
                $i+1)*25, (250-$graphValues2[$i+1]), $colorblue);
                }

                for (
                $i=0$icount ($graphValues3)-1$i++){
                imageline($image$i*25, (250-$graphValues3[$i]), 
                    (
                $i+1)*25, (250-$graphValues3[$i+1]), $colorblue);
                }

                for (
                $i=0$icount ($graphValues4)-1$i++){
                imageline($image$i*25, (250-$graphValues4[$i]), 
                    (
                $i+1)*25, (250-$graphValues4[$i+1]), $colorblue);
                }


                for (
                $i=0$icount ($graphValues5)-1$i++){
                imageline($image$i*25, (250-$graphValues5[$i]), 
                    (
                $i+1)*25, (250-$graphValues5[$i+1]), $colorblue);
                }




                // Diagramm ausgeben und Grafik 
                // aus dem Speicher entfernen 
                imagepng($image);
                imagedestroy($image);

                ?>
                Zuletzt geändert von DarksoldierXX; 08.02.2007, 00:18.

                Kommentar


                • #38
                  wie sieht nun der richtige link aus?

                  Kommentar


                  • #39
                    Original geschrieben von penizillin
                    wie sieht nun der richtige link aus?
                    also immer der wert zb "pk="dann der wert und dann das & und der nächste wert.

                    oder was meinst du?

                    hier ein link zur aktuellen datei.

                    KLICK

                    was ist denn daran falsch?

                    Kommentar


                    • #40
                      initialisiere $graphValues und alle anderen arrays als ein leeres array am anfang des scriptes.

                      setze error_reporting hoch.

                      Kommentar


                      • #41
                        Original geschrieben von penizillin
                        initialisiere $graphValues und alle anderen arrays als ein leeres array am anfang des scriptes.

                        setze error_reporting hoch.

                        eine frage, wie initialisiere ich den diese arrays? meinst du damit die aufzurufen bzw mit echo auszugeben?

                        Kommentar


                        • #42
                          PHP-Code:
                          $a = array(); 

                          Kommentar


                          • #43
                            Original geschrieben von penizillin
                            PHP-Code:
                            $a = array(); 
                            also ist das so richtig ? das ist der anfang meiner grid.php..

                            PHP-Code:
                            <?php
                            echo error_reporting(E_ALL);

                            $graphValues = array();

                            $graphValues1 = array();

                            $graphValues2 = array();

                            $graphValues3 = array();

                            $graphValues4 = array();

                            $graphValues5 = array();
                            wenn ja hier der link :

                            Klick

                            Kommentar


                            • #44
                              vielleicht hörst du langsam auf, aus dem bauch heraus zu schreiben und informierst dich darüber, was du tust?

                              was liefert error_reporting zurück? wer will es wissen?

                              was besagt die fehlermeldung? was steht in der relevanten zeile? was sagt dazu das manual? allein denken ist total ************y!

                              Kommentar

                              Lädt...
                              X