Letzten 50 Datensätze ausgeben

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Letzten 50 Datensätze ausgeben

    Hallo,

    wie kann ich mir die letzten 50 Datensätze der DB ausgeben lassen. So kommen alle Datensätze raus, ich will aber das nur DIE LETZTEN!! 50 rauskommen und auch nach id DESC; geordnet werden. Ich habs probiert mit LIMIT -50, funktioniert aber nicht.

    $sql = mysql_query("SELECT * FROM $table ORDER BY id DESC;");

    Andi

  • #2
    hmm,

    also LIMIT ist imemr positiv LIMIT 1,50 zB. oder du machst einfach eine Schleife beim Auslesen, was du sowieso machen musst, da machste noch eienen Zaehelr rein der bei 50 aufhört, egal ob noch was zum auslesen da ist.

    Comment


    • #3
      zwei Möglichkeiten:

      1) absteigend sortieren mit "LIMIT 0,50", dann bekommst du die letzten 50 in umgekehrter Reihenfolge. Wenn du sie dann richtig rum ausgeben willst, musst du alle in ein Array einlesen und das Array nach array_reverse ausgeben:
      PHP Code:
      $sql mysql_query("select * from $table order by id desc limit 0,50");
      $array = array();
      while (
      $a mysql_fetch_assoc($sql)) $array[] = $a;
      $array array_reverse($array);
      foreach (
      $array as $a)
      {
        ...

      2) erst mit "select count(*) from $table" die Anzahl der Datensätze holen, dann mit einer extra Query die letzten 50 Datensätze holen:
      PHP Code:
      $sql mysql_query ("select count(*) from $table");
      list(
      $anzahl) = mysql_fetch_row($sql);
      $sql mysql_query ("select * from $table order by id asc limit "
        
      . ($anzahl-50). ",50");
      while (
      $a mysql_fetch_assoc($sql))
      {
        ...

      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.

      Comment

      Working...
      X