Ankündigung

Einklappen
Keine Ankündigung bisher.

Aufzählung

Einklappen

Neue Werbung 2019

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

  • Aufzählung

    Hi Jungs,

    ich benutze eine Aufzählung, um Daten aus einer Text-Datei zu lesen:

    PHP-Code:
    <?php } else if ( (!isset($_POST['submit'])) && (isset($_GET['show'])) ) { 
    $file = isset($_GET['show']) ?  $_GET['show'] : ''          ;
    $content file('../../messages/'.$file.".txt");
    $pic   $content['0'];
    unset (
    $content['0']);
    unset (
    $content['1']);
    $main "";
    $i=0;
    foreach (
    $content as $value) {
          
          
    //ersten 3 Zeilen ausblenden
          
    if ($i!=&& $i!=4) {
              if (
    $i==1) { // FROM
                  
    $main .= '<div id="imprint_1"><p>'.$value."<br />";
              }
              if (
    $i==2) { //FROM Name
                  
    $main .= "".$value."<br />";
              }
              if (
    $i==3) { //FROM mail
                  
    $main .= "".$value."</p>"."</div>";
              }
              if(
    $i==6) { // TO
                  
    $main .= '<div id="imprint_2"><p>'.$value."<br />";
              }
              if (
    $i==7) { //FROM Name
                  
    $main .= "".$value."<br />";
              }
              if (
    $i==8) { //FROM mail
                  
    $main .= "".$value."</p>"."</div>";
              }
              if (
    $i==10) { //FROM mail
                  
    $main .= "<div id='imprint_3'><p>Betreff <br />".$value."</p>";
              }
              if (
    $i==12) { //FROM mail
                  
    $main .= "<p>Nachricht <br /> ".$value."</p></div>";
              }
              
              
            }
            
    $i++;
    }
    Das klappt bislang gut. An gegebener Stelle wird Zeile 10 ausgelesen. An der nächsten Stelle Zeile 12. Wie muss ich aber if ($i==12) umschreiben, wenn ich nicht nur Zeile 12, sondern ALLES AB Zeile 12 ausgelesen/angezeigt bekommen möchte? if ($i>12) war schon einmal falsch. :-/

    Danke euch vorab.


  • #2
    Hi,

    mit so wenig infos können wir dir nicht wirklich weiterhelfen.
    Normal sollte das aber mit $i>12 funktionieren.

    Zeig uns am besten etwas mehr Code

    lg

    Kommentar


    • #3
      verzeihung, hier mehr code.

      PHP-Code:
      foreach ($content as $value) {
            
            
      //die ersten 3 Zeilen ausblenden
            
      if ($i!=&& $i!=4) {
                if (
      $i==1) { // FROM
                    
      $main .= '<div id="imprint_1"><p>'.$value."<br />";
                }
                if (
      $i==2) { //FROM Name
                    
      $main .= "".$value."<br />";
                }
                if (
      $i==3) { //FROM mail
                    
      $main .= "".$value."</p>"."</div>";
                }
                if(
      $i==6) { // TO
                    
      $main .= '<div id="imprint_2"><p>'.$value."<br />";
                }
                if (
      $i==7) { //FROM Name
                    
      $main .= "".$value."<br />";
                }
                if (
      $i==8) { //FROM mail
                    
      $main .= "".$value."</p>"."</div>";
                }
                if (
      $i==10) { //FROM mail
                    
      $main .= "<div id='imprint_3'><p>Betreff <br />".$value."</p>";
                }
                if (
      $i==12) { //FROM mail
                    
      $main .= "<p>Nachricht <br /> ".$value."</p></div>";
                }
                
                
              }
              
      $i++;

      Kommentar


      • #4
        kleine hilfestellung:

        break & continue.. - zum anderen, hast du $i definiert (auch als integer!)? ist im code nicht sichtbar.

        mit $i >= 12 kannst du auch arbeiten, wenn ich richtig verstanden habe, was du vor hast..

        ps: dein kommentar im code lautet "die ersten 3 Zeilen ausblenden"... dein if-clause stimmt dazu aber nicht.

        $i > 3
        wäre einfacher.

        Kommentar


        • #5
          sorry, kenne mich mit php nicht aus. break & continue sagt mir nun nichts.

          if ($i>12) ... habe ich versucht, aber es hat nicht geklappt. ich ging davon aus, dass er ab zeile 12 dann alles anzeigt. dem war nicht so. stattdessen wurde zeile 12 hintereinander mehrfach kopiert oder so ähnlich. gab auch einen seitenbruch außerhalb des divs. sehr seltsam.


          if ($i>=12) funktioniert auch nicht. gleiches verhalten wie bei if ($i>12): zeile nachricht und erste zeile werden mehrfach wiederholt, das ist alles.


          im ersten beitrag habe ich nun den kompletten code, der dort greift, gepostet.

          Kommentar


          • #6
            IMHO liegt dein Fehler hier:
            PHP-Code:
            unset ($content['0']);
            unset (
            $content['1']); 
            Du möchtest die ersten beiden Zeilen löschen, die Daten haben aber einen nummerischen Index, keinen String Index (eingelesen mit file()). Das unset() versucht also einen Index zu löschen, den es nicht gibt. Dadurch verbleiben die ersten beiden Zeilen im Array und deine Zeilennummern-Berechnungen sind um 2 Zeilen verschoben.

            Überprüfe das mal...
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar

            Lädt...
            X