Blätterfunktion / array-elemente anzeigen -- gästebuch

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

  • Blätterfunktion / array-elemente anzeigen -- gästebuch

    Hallo,

    hab den unten stehenden code bekommen und könnte hilfe gebrauchen....

    es geht um folgende zeile

    $start = count( $liste ) - ( ($_GET['page'] - 1) * 3 ) - 1;

    Frage:

    Ich weiß nicht was die letzte -1 außerhalb der Klammer, bedeutet ?

    - es gibt 3 Einträge pro Seite

    - und 10 Elemente

    und da der array bei 0 beginnt, muß ich ein element abziehen, daher die -1 in der Klammer, hat man mir gesagt


    - die Seitenelemente werden so ausgegeben, das der aktuellste oben ist

    // die seitenelemente rückwärts ausgeben
    for( $i = $start ; $i > $end && $i >= 0 ; $i -= 1 )
    {
    $message = $liste[$i];

    soll ich noch mehr angaben machen...weitere dateien uploaden ?

    danke und Gruß

    pre




    hier der code: (unten auch als datei-anhang)


    PHP-Code:

    <h2>Letzte Shouts:</h2>

    <?php
    // nachrichtenliste einlesen
    $eingeleseneDaten file_get_contentsAPP_PATH 'msg.txt' );
    $liste json_decode$eingeleseneDaten true );



    // anzahl der seiten berechnen und auf ganze zahlen abrunden
    $anzahlSeiten ceilcount$liste ) / );

    // seitenlinks ausgeben
    for( $i $i <= $anzahlSeiten $i += )
    {
        echo 
    '<a href="index.php?page=' $i '">[' $i ']</a>'// warum ?page ?????
    }

    ?>


    <ul>
    <?php



    // nachrichten ausgeben

    // wenn eine Seitenzahl gegeben ist
    if( isset( $_GET['page'] ) )
    {

        
    //      1)   da array bei 0 beginnt 
        //    2)  3 einträge pro seite  
        //      3)  damit er eine 1 Seite überspringt ???

        
    $start count$liste ) - ( ($_GET['page'] - 1) * ) - 1;
    }
    else
    {
        
    // wenn keine Seitenzahl gegeben ist
        // einen Standardwert wählen
        
    $start count$liste ) - 1// weil vom größeren zum kleineren Wert gezählt wird
    }
    $end $start 3;

    // die seitenelemente rückwärts ausgeben
    for( $i $start $i $end && $i >= $i -= )
    {
        
    $message $liste[$i];
        
        
    // jeder dritte eintrag ist gelb
        
    if( $i == )
        {
            
    $class 'yellow';
        }
        
    // jeder zweite ist rot
        
    elseif( $i == )
        {
            
    $class 'red';
        }
        
    // alle anderen sind grün
        
    else
        {
            
    $class 'green';
        }
        
        
        echo 
    '<li class="' $class '">';
        echo 
    '<h3>' $message['name'] . '</h3>';
        echo 
    '<h4>' strftime'%d.%m.%Y %H:%M:%S' $message['time'] ) . '</h4>';
        echo 
    $message['message'];
        echo 
    '</li>';
    }

    ?>
    </ul>
    Angehängte Dateien
    Zuletzt geändert von pre; 16.02.2012, 10:35.

  • #2
    Moinsen,

    sei doch bitte so nett und setze Deine Codeschnippsel in die entsprechenden PHP Tags, die dieses Forum anbietet. So wie es jetzt dargestellt wird, läufst Du nämlich Gefahr, dass man Dich im besten Fall von der Seite anfährt, weil Dein Beitrag nicht nach Forenregeln erstellt wurde.

    Darüber hinaus ist nicht ersichtlich, was Dein eigentliches Problem ist. Bitte beschreibe Dein Problem mit Deinen eigenen Worten so, dass es für andere Leser auch verständlich ist. Zumindest kann ich jetzt gerade nicht sehen, was Dein Problem ist.

    PS: Helau! *Konfetti!* ^^
    Zuletzt geändert von ezkimo; 16.02.2012, 09:58.
    MM Newmedia | MeinBlog

    Kommentar


    • #3
      php tags

      danke f die info....weiß nicht wie das geht....wo kann ich das denn nachlesen....sorry aber muß gerade total viel lernen für ne PHP prüfung

      Kommentar


      • #4
        ok ich hab´s gefunden

        Kommentar


        • #5
          meine Frage wäre:

          Ich weiß nicht was die letzte -1 außerhalb der Klammer unter dem Kommentar // Nachrichten ausgeben - bedeutet ?

          soll eine Blätterfunktion sein....mit der man die elemente des arrays überspringt um zur entsprechenden seite zu kommen...aber wie das genau funktioniert hab ich nicht verstanden

          Kommentar


          • #6
            $start = count( $liste ) - ( ($_GET['page'] - 1) * 3 ) - 1;
            Hier wird der Startwert deiner Blätterfunktion definiert. count zählt die Anzahl der Elemente in $list, vom Parameter $_GET["page"] wird eins abgezogen und von der Gesamtanzahl auch nochmal (das ist die Minus 1).

            mfg streuner
            Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
            der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

            "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

            Kommentar

            Lädt...
            X