Mike: Zweit aktuellster Eintrag anzeigen

Hallo Leute,

ich hab folgendes Problem:

require_once("SIDE/config/config.php");
               $sql = "SELECT datum,id FROM Referenzen ORDER BY id DESC LIMIT 1";
               $get = mysql_query($sql);
               while($put = mysql_fetch_object($get)){
                  echo "".$put->datum."";
            }

diesen Teil hab ich in meine Seite eingebaut, und der er funktioniert bestens. Nun soll aber nicht das aktuellste Datum aus der Datenbank ausgelesen und angezeigt werden sondern der zweit aktuellste.

Weiss jemand wie ich das hinbekomme ??

Danke
Mike

  1. Hallo,

    " The LIMIT clause can be used to constrain the number of rows returned by the SELECT  statement. LIMIT takes one or two numeric arguments, which must both be positive integer constants (including zero).

    With two arguments, the first argument specifies the offset of the first row to return, and the second specifies the maximum number of rows to return. The offset of the initial row is 0 (not 1):

    mysql> SELECT * FROM table LIMIT 5,10;  # Retrieve rows 6-15

    For compatibility with PostgreSQL, MySQL also supports the LIMIT row_count OFFSET offset syntax. "

    Quelle

    gruss

    --
    no strict;
    no warnings;
    Meine Signatur hat Urlaub.
    1. Leider kann ich kein englisch, gibt es auch irgendwo ein deutsche Übersetzung.

      1. Γειά σου, Mike!

        Leider kann ich kein englisch, gibt es auch irgendwo ein deutsche Übersetzung.

        Das du mit Klick auf German zu einer deutschen Version der Seite gelangst, weißt du aber doch sicher, oder? ;-)

        Пока!
        Sven aus Bonn

        --
        Do it yourSELF! ;-)
        Selfcode: ie:% fl:( br:> va:} ls:[ fo:) rl:( n4:{ ss:| de:> js:| ch:) mo:} zu:) - Selfcode dekodieren - Selfcode-Info
        Athen rückt in Sichtweite. ;-)
  2. hallo,

    wenn du das zweit aktuellste willst, wirst du wohl oder über beide auslesen müssen. wahlweise könntest du über ein subselect "nur" das zweite auslesen.

    grüsse chriss

    1. nochmal hallo,

      ignoriers, limit 2,1 bei der richtisten sortierung genügt natürlich völlig. hab grad etwas auf', schlauch gestanden :)

      grüße Chris

      1. nochmal hallo,

        ignoriers, limit 2,1 bei der richtisten sortierung genügt natürlich völlig. hab grad etwas auf', schlauch gestanden :)

        grüße Chris

        Klasse funktioniert bestens !!!!

        Vielen Dank !!

        1. Nein klappt leider doch nicht. Jetzt überspringt er eine Spalte ID.

          Schade, aber Danke

          Mike

          1. hi,

            Nein klappt leider doch nicht. Jetzt überspringt er eine Spalte ID.

            dann lies jetzt nach, wie LIMIT funktioniert.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
            1. Das hab ich schon aber irgendwie funzt es nicht.

              Mike

              1. dann machst du was falsche, das muss klappen.

                Chris

                1. So, hier bei:

                  <?php
                  require_once("SIDE/config/config.php");
                  $sql = "SELECT datum,id FROM Referenzen ORDER BY id DESC LIMIT 1";
                  $get = mysql_query($sql);
                  while($put = mysql_fetch_object($get)){
                  echo "".$put->datum."";
                  }
                  ?>

                  liest er mir den mir den letzten Eintrag bzw den mit der höchsten id (20).

                  Hier bei:

                  <?php
                  require_once("SIDE/config/config.php");
                  $sql = "SELECT datum,id FROM Referenzen ORDER BY id DESC LIMIT 2,1";
                  $get = mysql_query($sql);
                  while($put = mysql_fetch_object($get)){
                  echo "".$put->datum."";
                  }
                  ?>

                  überspringt er eine komplette id (18 zeigt er an und nicht 19).

                  ????

                  Mike

                  1. Γειά σου, Mike!

                    So, hier bei:

                    [...]
                    $sql = "SELECT datum,id FROM Referenzen ORDER BY id DESC LIMIT 1";
                    [...]
                    liest er mir den mir den letzten Eintrag bzw den mit der höchsten id (20).

                    Ok, LIMIT 1 beschränkt die Ausgabe auf einen Eintrag, in deinem Falle den "höchsten", weil du rückwärts (DESC) sortiert hast.

                    Hier bei:

                    [...]
                    $sql = "SELECT datum,id FROM Referenzen ORDER BY id DESC LIMIT 2,1";
                    [...]
                    überspringt er eine komplette id (18 zeigt er an und nicht 19).

                    LIMIT 2,1 liest einen (1) Eintrag aus, beginnt aber mit dem Auslesen erst im dritten (2) Datensatz. Dass die Angabe "2" den dritten Datensatz meint, liegt daran, dass die einzelnen Datensätze über einen 0-basierten Index angesprochen werden. Siehe dazu auch die von mir verlinkte Seite: "Der Offset der anfänglichen Zeile ist 0 (nicht 1)".

                    Пока!
                    Sven aus Bonn

                    --
                    Do it yourSELF! ;-)
                    Selfcode: ie:% fl:( br:> va:} ls:[ fo:) rl:( n4:{ ss:| de:> js:| ch:) mo:} zu:) - Selfcode dekodieren - Selfcode-Info
                    Athen rückt in Sichtweite. ;-)
                    1. AAHH , jetzt hab ich es verstanden, ist schon spät. Jetzt funzt es auch einwandfrei, vielen Dank für die Erklärung.

                      Thx
                      Mike