Tom: Ergebnis einer Datenbank auf mehrere html Seiten aufteilen

Beitrag lesen

Hello,

kann mir jemand bei folgendem Problem helfen. Ich generiere aus einer Datenbank einige hundert Zeilen Ausgabe. Ich möchte diese aber nicht alle auf einer HTML Seite haben sondern definieren das z.b. 25 Zeilen pro Seite angezeigt werden sollen.
Wenn ich also 100 Zeilen Ausgabe habe, sollen 4 Seiten generiert werden.

Ich gehe mal von PHP und MySQL aus:

Wenn Du eine Seitengenerierung aufbauen willst, musst Du immer ein "Count-Query" haben, dass Dir sagt, wievele Zeilen im Ergebnisset sein werden. Zum Zählen der Datensätze benötigt mal auch eigentlich keine Datenausgabe.

Select count(*) as z from $table where $filter;

Und dann kannst Du anschließend Links zu den Seiten mit Hilfe von Limit und Offset aufbauen. Die Seitenzahl ergibt sich aus der Division von

anzahl = ceiling(z/limit)

Also der auf die nächste Ganzzahl aufgerundete Quotient.

Die Seitenzählung beginnt dann bei 1
0 würde bedeuten, kein Ergebnis, also auch kein Link.

Das Statement setzt sich dann mit dem Parameter $page aus dem Link so zusammen:

$sql = "Select $fields from $table where $filter limit ".((intval($_GET[page])-1)*$limit).", $limit";

Ob man das Filter auch als Parameter übergibt oder in einer Session speichert, dass ist Philosophie...

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen