Was mach ich falsch mit Foreach-Schleife ??

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

  • Was mach ich falsch mit Foreach-Schleife ??

    Hi,

    ich habe in einer Textdatei je Zeile ein Datum (von LogIns), und nun möchte ich diese untereinander auflisten:

    PHP-Code:
    $array=file($file);
    $i=count($array);
    echo 
    "Protokollierte LogIns(".$i."):<br><br>";

    foreach (
    $array as $temp) {
    $o=1;
    echo 
    $o.".Login: ".$temp."<br>";
    $o++;

    ich lese erst alle einträge in ein Array (je zeile), und dann zeig ich diese untereinander an. Es klappt soweit alles, außer dass dort immer steht 1.Login:........ !!!
    Ich möchte dies aber so haben:
    1. Login: .........
    2. Login: .........
    Wie muss ich das dann machen ?? Ich habe es auch schon mit einer while-Schleife ausprobiert. Wahrscheinlich muss ich ne for-Schleife nehmen ?? Die kann ich aber nicht richtig, kann mir jmd erklären, wie ich das zu machen habe ??
    Danke

  • #2
    weil du $o durch $o=1 bei jedem Durchlauf re-initialisierst
    mach mal so:
    PHP-Code:
    $array=file($file);
    $i=count($array);
    echo 
    "Protokollierte LogIns(".$i."):<br /><br />\n";
    for (
    $x=0$x<$i$x++)
       echo 
    $x.". Login: ".$array[$x]."<br />\n"
    Zuletzt geändert von asp2php; 24.11.2004, 15:08.

    Kommentar


    • #3
      geht nicht. fehler: parse error. unexpected ";" on line.....

      außerdem müsste es doch eh

      PHP-Code:
      $array=file($file);
      $i=count($array);
      echo 
      "Protokollierte LogIns(".$i."):<br /><br />\n";
      $f=count($array)-1;
      foreach (
      $x=0$x<$f$x++)
         echo 
      $x.". Login: ".$array[$x]."<br />\n"
      heißen, weil das array bei 0 anfängt oder ??

      Kommentar


      • #4
        Original geschrieben von asp2php
        mach mal so:
        PHP-Code:
        foreach ($x=0$x<$i$x++) 
        interessante foreach-syntax :-)
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          vielleicht kann man das ja auch ganz anders machen ?? ne andere frage. ich habe die neuesten logins ganz unten in der datei verzeichnet, weil diese immer immer an die letzte zeile angehängt werden. jetzt ene frage:
          kann ich das irgendwie mcahen, dass die letzte zeile als erstes angezeigt wird, und dass zusätzlich das oben mit dem 1. login, 2.login usw. angezeigt wird ??

          Kommentar


          • #6
            ok, so geht das jetzt:
            PHP-Code:
            for ($x=0$x<$i$x++)
               echo 
            $x.". Login: ".$array[$x]."<br>"
            nur steht dann da:
            0. Login.....
            1. Login ......
            etc !!!
            wie kann man das ändern ?`?

            Kommentar


            • #7
              Original geschrieben von firstlord18
              nur steht dann da:
              0. Login.....
              1. Login ......
              etc !!!
              wie kann man das ändern ?`?
              man könnte mal selber nachdenken, und auf den wert, den man ausgibt, eins draufaddieren?

              echo $x+1."blah";

              himmel, bist du ein denkfauler !%$&
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Original geschrieben von wahsaga
                interessante foreach-syntax :-)
                C&P war schuld

                Kommentar


                • #9
                  sry man, ich hab ja selbst überlegt, und so klappt es jetzt:
                  PHP-Code:
                  $array=file($file);
                  $i=count($array);
                  echo 
                  "Protokollierte LogIns(".$i."):<br><br>";
                  $o=1;
                  foreach (
                  $array as $temp) {
                  echo 
                  $o.".Login: ".$temp."<br>";
                  $o++;

                  mein Problem ist jetzt nur noch das:
                  in de Textdatei schreib ich die Daten immer untereinander, je aktueller das Datum, desto weiter unten. Kann ich das jetzt so machen, dass dann zuerst die letzten Zeilen angezeigt werden, und zuletzt die 1. Zeile, praktisch genau das gegenteil von jetzt ??

                  Kommentar


                  • #10
                    Vielleicht so:

                    PHP-Code:
                    $r=1
                    $o
                    =count($array)-1;
                    for (
                    $i=$o$i>=0$i--) {
                     echo  
                    $r.". Login: ".$array[$i];
                     
                    $r++;} 
                    oder ??

                    Kommentar


                    • #11
                      wens interessiert, was ich als *denkfauler* jetzt selbst zusammengebastelt habe:

                      PHP-Code:
                      $array=file($file);
                      $i=count($array);
                      echo 
                      "Protokollierte LogIns(".$i."):<br><br>";

                      $r=1;
                      $o=count($array)-1;
                      for (
                      $i=$o$i>=0$i--) {
                       echo  
                      $r.". Login: ".$array[$i]."<br>";
                       
                      $r++;} 

                      Kommentar


                      • #12
                        ist dein PHP-Parser defekt? Warum fragst du dauernd, anstatt selbst den Code ausführen zu lassen?

                        Kommentar


                        • #13
                          ne, net unbedingt, ich hab nur mein quelltext gepostet, wie jetzt meine ganzen probleme behoben sind, und auch die frage, welche ich irgendwann ma zwischendrin gestellt hab. und zwischendrin hab ich nur ma meine teile des quelltextes gepostet, und dann halt noch ne neue frage gestellt !!!

                          Kommentar


                          • #14
                            wie wär's, wenn du endlich mal aufhörst, diese dämliche "geht das so ...?"-fragen zu stellen, und stattdessen erst mal selber ausprobierst?
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              hä, wann hab ich das gefragt ?? ich mein mit "geht das so" nicht, ob das so funktioniert (syntaxmäßig oder so), weil ganz so dumm, dass ich das nicht ausprobieren kann bin ich doch nicht. ne, ich mein damit, ob man das so auf diese weise machen kann !!!
                              außerdem brauchst du (@wahsaga) nicht nur auf mir rumzuhacken, weil du nix zu tun hast, dir langweilig is, und weil der anere schon was gesagt hat. davor haste auch kein stress gemacht.

                              Kommentar

                              Lädt...
                              X