Bin ma dazu gekommen mein Hirn einzusetzen. Es ist eigentlich ein algorithmisches Problem, in diesem Sinne gibt es da viele (um nicht zusagen unendlich) Möglichkeiten dies zu realisieren. Deshalb hier jetzt nur so mein Grundüberlegungen, die nicht optimal sein muss.
Zunächst würd ich, wenn schon etwas sortiert sein soll, dies immer mit ORDER BY machen, versteh ich nicht ganz, wieso du das im ersten Teil gleich ablehnst...
- Wie müssen die Variablen initialisiert werden?
Das hängt stark davon ab, welche Variablen du überhaupt wie einsetzen willst. Brauchst auf jeden Fall nen kleinen Satz Zählvariablen. Einmal Anzahl der Einträge pro Seite ($limit), einmal Seitennummer ($page), Sortierung ($order). Ich würd sie ja scho, solange nichts anderes übergeben, gewissermaßen nach deinen Vorlieben initliasieren
zB
- Code: Select all
$order = isset($_GET['order']) ? $_GET['order'] : 'ASC';
usw.
- Wie gestallte ich die sql abfrage richtig (... ORDER BY '$spaltename' $order LIMIT $offset,$limit ???)
Nen bisschen Anspruch sollte noch bleiben
- wie mache ich das mit der Blätterfunktion (for schleife?)
hmm? Keine Ahnung, was du meinst. Ich dachte jetzt daran, dass du erstmal die Gesamtseitenzahl ermittels, einfach Anzahl Einträge geteilt durch Einträge pro Seit aufgerundet. Es bietet sich an die Gesamtzahl in einer Session Seite für Seite rüberzuschleifen, solange niemand die Einträge pro Seite ändert. Da spart man sich (eventuell aufwendige) Abfragen. "Nächste Seite" wäre dann einfach "aktuelle Seite + 1" und "vorige Seite" wäre dann "aktuelle Seite - 1", wenn schön werden soll, kann man die Anzeige auch begrenzen auf den Fall, dass man sich nicht bei der ersten/letzten Seite befindet.
- Code: Select all
if ($page > 1) {
// Link "vorige Seite" anzeigen
}
if ($page < $maxPage) {
// Link "nächste Seite" anzeigen
}
Ahso, jetz versteh ich. Die Links für die einzelnen Seiten müssten dann per forSchleife erstellt werden. Ob man das ergebniss dann ebenfalls in der Session zwischenspeichert ist wohl auch Geschmackssache.
Zudem sollte man immer brav prüfen, ob die eingegebenen Daten immer brav den möglichen Werten entsprechen, weil man nie weiß inwiefern irgendwer an der URL rumfuscht
So, das sollte zum Basteln erstmal reichen
Nicht jeder Fehler ist ein Bug ...