Gerd H.: LIMIT Problem

Hallo Forum,

es geht um MySQL. Ich möchte einen SELECT-Befehl ausführen der begrenzt ist und alle Datensätze seitenweise ausgeben. Das Problem ist aber, dass wenn ich da LIMIT $seite/$eintraegeproseite reinmache auch als maximale Zahl höchstens $eintraegeproseite erhalte.

Da ich aber die Gesamtanzahl benötige, um Links für die einzelnen Seiten  anzuzeigen müsste ich den Befehl pro Aufruf 2 mal ausführen. Einmal mit und einmal ohne "LIMIT".

Gibts da ne effektivere Möglichkeit?

Danke im Voraus.

Gerd

  1. hi,

    Da ich aber die Gesamtanzahl benötige, um Links für die einzelnen Seiten  anzuzeigen müsste ich den Befehl pro Aufruf 2 mal ausführen. Einmal mit und einmal ohne "LIMIT".

    Gibts da ne effektivere Möglichkeit?

    Stichwort FOUND_ROWS.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. [sql]
    SELECT beitrag.thread_id, thread.forum_id, thread.beschreibung, thread.titel, beitrag.time, user.username, (SELECT COUNT(*) FROM beitrag, thread, user WHERE thread.id=beitrag.thread_id AND beitrag.von_id=user.id AND thread.lasttime=beitrag.time AND thread.forum_id NOT IN ( 13, 14 ) GROUP BY beitrag.thread_id) AS anzahl
    FROM thread, beitrag, user
    WHERE thread.id=beitrag.thread_id AND beitrag.von_id=user.id AND thread.lasttime=beitrag.time AND thread.forum_id NOT IN ( 13, 14 )
    GROUP BY beitrag.thread_id
    ORDER by thread.lasttime DESC LIMIT 10
    [/sql]

    Hier was ich bisher habe. Bisher ist es bei mir so, dass ich in der Schleife wo die Datensätze angezeigt werden pro Durchlauf jeweils eine Abfrage die mniur ausgibt wieviele beiträge insgesamt in dem Thread sind.

    es geht um ein Forum ;)