Statistik / Counter Problem

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

  • #61
    die Fehlermeldung kriegst weg indem Du oben
    im Skript z.B. $newstring = ""; schreibst.

    zählt der zähler denn hoch, wenn Du z.B.
    $id = "testeintrag"; schreibst?
    Zuletzt geändert von Koala; 04.03.2006, 18:27.

    Kommentar


    • #62
      Hallo, ja er zählt, aber er zerschiesst die nächste ID bezeichnung. die fehlermeldung ist nun auch weg.

      Datei sieht nach ausführen des Scriptes So aus
      auto|10
      testeintrag|14|150

      So sollte sie ausshen:
      auto|10
      testeintrag|14|
      demo|150

      gruss Iloveratte

      Kommentar


      • #63
        Hm, hab die datenbank nun nochmals komplett hochgeladen, und nun bleibt die DB ganz, also nun funktioniert es.

        Prima vielen dank Koala und Co.

        Kommentar


        • #64
          Hm nun geht es wider nicht.

          so sieht die ausgabe aus.

          es fehlt ein lerschlag zwischen der ID und dem Counter, dann wird der text überschrieben vom Counter.

          vor aktualisierung
          Kiwi|0 testeintrag|1demo|1 test|12

          nach aktualisierung
          Kiwi|0 testeintrag|2|1 test|12

          iloveratte

          Kommentar


          • #65
            und was glaubst du, woran das liegt?

            Kommentar


            • #66
              nun ja da fehlt ein Leerzeichen in der ausgabe, und im script vermute ich mal in der if schleife

              if ($temp[0] == $id)
              {
              $temp[1] = intval($temp[1]) + 1; //Zähler erhöhen
              }

              kann es einen zeilenumbruch sein, da man das script ja einmal aufrufen kann, und dann ist die ausgabe noch richtig, beim zweiten mal ist die ID weg.

              darum vermute ich mal das ich ein \n einfügen muss. oder?

              iloveratte

              Kommentar


              • #67
                wenn du es ausprobierst, weißt du mehr.

                Kommentar


                • #68
                  hast du das ausprobiert?

                  Kommentar


                  • #69
                    habe es gerade ausprobiert, - Negativ..

                    woran könnte es sonst noch liegen,

                    dann muss es was anderes in der IF schleife sein.


                    iloveratte

                    Kommentar


                    • #70
                      warum glaubst du das?

                      Kommentar


                      • #71
                        Ich habs inzwischen:

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

                        $id "counter2";                     //Beispiel-Id
                        $newstring "";
                        $array file("statistik.txt");    //Zeilen der Datei als Arrayelemente

                        foreach($array as $wert)
                            {
                            
                        $temp explode('|',$wert);        //Zeile teilen
                            
                        if ($temp[0] == $id)
                                {
                                
                        $temp[1] = intval($temp[1]) + 1;   //Zähler erhöhen
                                    
                        $temp[1] = $temp[1]."\n";
                                echo 
                        "Counter wird erhöht!"."<br>";
                                }
                            
                        $wert implode('|',$temp);          //Zeile zusammensetzen
                            
                        echo "Der Counter beinhaltet nun: ".$wert."<br>";
                            
                        $newstring $newstring.$wert;                  //neues Arrayelement anhängen
                            
                        echo "Der neue String: ".$newstring."<br>";
                            }
                        $fh fopen ("statistik.txt""w");
                        fwrite ($fh$newstring);
                        fclose ($fh);
                        ?>

                        Kommentar


                        • #72
                          nun, da mit der if schleife die entsprechende ID gesucht wird, und dann wenn sie gefunden worden ist den wert von $temp[1] um 1 erhöht wird es muss da liegen, da ja sonst nirgens anderst was verändert wird.

                          iloveratte

                          Kommentar


                          • #73
                            ja - und deswegen hängt man den Zeilenumbruch an $temp[1] ran:

                            PHP-Code:
                            $temp[1] = $temp[1]."\n"

                            Kommentar


                            • #74
                              überleg mal - durch die anwendung von file() hast du alle zeilenumbrüche rausgeworfen (kannst dafür aber auf die zeilen einzeln zugreifen). jetzt gilt es, dieses rückgängig zu machen.

                              ich finde koalas code suboptimal - aber ich hoffe, du hast trotzdem verstanden, warum und an welcher stelle man dies ändern kann.

                              Kommentar


                              • #75
                                hm.
                                wie gesagt ich habe den Zeilenumbruch einfach beim +1 eingefügt. aber das hatt nicht funktioniert

                                aber nun funktioniert es Prima.

                                vielen dank allen.

                                Iloveratte

                                Kommentar

                                Lädt...
                                X