warum letzter Eintrag zuerst??

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

  • warum letzter Eintrag zuerst??

    Hallo,
    lese mit folgendem code eine txt-datei aus
    PHP-Code:
    $dateiname="spieler.txt";
    $lines=file($dateiname);
    $num=sizeof($lines);
    for (
    $i=count($lines)-1$i>=0$i--)
    {
     
    $zeile explode('\n'trim($lines[$i]));
      echo 
    "$zeile[0]<br>";

    Das funktioniert auch, aber der letzte Eintrag in der txt-Datei wird zuerst ausgegeben und der erste zuletzt. Warum?? Habe es schon mit arsort() probiert, bekomme es aber nicht hin.

    Noch ne Frage....
    Wie kann ich es anstellen, daß so lange die Ausgabe dauert, ich fortlaufend nummerierte Variablen zur Übergabe erhalte?
    z.B. var[1]=$zeile[0], var[2]=zeile[0], usw.

    Danke für Tips

  • #2
    ...???
    for ($i=0,i<count($lines);$i++)
    ...so is richtig rum.

    und mit
    $var[$i]=$zeile[0] bekommst du deine variable...
    eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

    Kommentar


    • #3
      Noch nicht ganz,
      kann die Seite mit der Ausgabe nicht darstellen, da er unendlich zählt.
      Wo hängst wohl?

      Kommentar


      • #4
        1. Fehler gefunden,
        du hattest einen kleinen Schreibfehler im Code:
        nicht
        PHP-Code:
        ($i=0,i<count($lines);$i++) 
        sondern
        PHP-Code:
        ($i=0;$i<count($lines);$i++) 
        muß es heißen.
        So jetzt mach ich mich an die vars

        Danke auch

        Kommentar


        • #5
          scheiB cut&paste

          for ($i=0[COLOR=crimson];[/COLOR]i<count($lines);$i++)
          eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

          Kommentar


          • #6
            Re: warum letzter Eintrag zuerst??

            Original geschrieben von StephanF
            Hallo,
            for ($i=count($lines)-1; $i>=0; $i--)
            ...
            der letzte Eintrag in der txt-Datei wird zuerst ausgegeben und der erste zuletzt. Warum??
            Ja warum nur ... vielleicht weil du das Array von hinten nach vorne abzählst?

            for ($i=0; $i<count($lines); $i++)
            und schon tut das!

            ach übrigens: arsort sortiert das Array absteigend; array_reverse dreht es um.

            Und deine letzte Frage solltest du nochmal umformulieren ... wozu willst du was weitergeben?
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar


            • #7
              @Titus, danke für die Antwort,
              Nochmal zu meiner letzten Frage:
              Anhand der Ergebnisse, welche mir das txtfile liefert, soll für jede Ausgabe eine neue Variable entstehen.
              Zum Verständnis: Es handelt sich hier um einen Online-Spielplan für Turnierveranstalltungen. Als erstes gibt man jeden Spieler ein, O.K. Dann wird das txt.File ausgelesen und die einzelnen Spieler anhand der Eintragung (deshalb ist die Reihenfolge wichtig) im Turnierplan gesetzt. Möchte man nun aber während einer Sportveranstalltung Spielernamen ändern, so soll das txtfile wiederum ausgelesen werden, und jeder eingetragene Spieler erscheint in einem Inputfeld. Hier kann man nun an dem jeweiligen Platz den Namen überschreiben.
              Fazit, ich weiß nicht (jetzt beim erstellen des Dokuments) wieviele Inputfelder mit Vorgabewert aus dem txtfile enstehen. Deshalb brauche ich eine variable Variable, welche sich anhand der Einträge solange um eins erhöht (z.B. feldspieler01, feldspieler02, usw.) bis die Abfrage beendet ist.
              Habe für dieses Vorhaben leider kein MySQL zur Hand, dann würde ich es mit zwei Spalten lösen. Eine hätte Defaultangaben zur Namensgebung der Inputfelder, die andere die Spielernamen.

              Ich hoffe, das ganze ist nun klarer.

              Kommentar


              • #8
                $filename = "feldspieler.txt";

                Auslesen:
                PHP-Code:
                $spieler file($filename);
                echo 
                '<form method="post" action="'$PHP_SELF'">';
                foreach(
                $spieler as $n=>$p)
                {
                  echo 
                $n'<input type="text" name="spieler[]" value="',
                    
                htmlentities($p), '"><br>';
                }
                echo 
                '<input type="submit"></form>'
                Änderungen speichern:
                PHP-Code:
                if (count($_POST))
                {
                  if (
                $fp fopen($filename'w'))
                  {
                    foreach(
                $_POST['spieler'] as $p)
                      
                fputs ($fp"$p\n");
                    
                fclose ($fp);
                  }
                  else
                    echo 
                'Speichern fehlgeschlagen';

                mein Sport: mein Frühstück: meine Arbeit:

                Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                Kommentar


                • #9
                  Das sieht gut aus,
                  komme leider aber erst morgen wieder dazu.
                  Danke schon mal vorweg.

                  Kommentar

                  Lädt...
                  X