Seitenaufteilung
Guido
- php
Hallo,
ich programmiere gerade ein Gästebuch und komme an einer Stelle nicht weiter.
Die Einträge werden aus einer MySQL-Datenbank geholt und auf Seiten aufgeteilt. Soweit funktioniert alles.
Nun möchte ich unten anzeigen lassen auf welcher Seite man sich befindet, und drei Seiten vor der aktuellen und drei danach verlinken.
Also ungefähr so: 12 13 14 15(aktuelle Seite) 16 17 18
Wobei man natürlich bedenken muss, dass auf Seite 1-3 keine Links voranstehen dürfen.
Mit ganz vielen ifs und elses würde ich das hinbekommen, aber gibt es da nicht noch einen eleganteren Weg?
Gruß
Tach.
Nun möchte ich unten anzeigen lassen auf welcher Seite man sich befindet, und drei Seiten vor der aktuellen und drei danach verlinken.
Mit ganz vielen ifs und elses würde ich das hinbekommen, aber gibt es da nicht noch einen eleganteren Weg?
Um ein paar Fallunterscheidungen wirst Du vermutlich nicht herumkommen. Nur Mut! ;)
Wenn Du eine feste Anzahl von Seiten vor und nach der aktuellen hast, kannst Du Dir daraus schon mal den Index der ersten und letzten Seite errechnen, die Du verlinken möchtest. Falls diese Werte den Rahmen sprengen (also z. B. als erste Seite -1 herauskommt oder als letzte 100, obwohl Du nur 99 Seiten hast), paßt Du die errechneten Grenzen den tatsächlichen an.
Anschließend kannst Du in einer Schleife von der Unter- zur Obergrenze laufen und jeweils eine Seite verlinken. Wenn Du zwischendurch auf die aktuelle Seite stößt, behandelst Du diese entsprechend gesondert.
Eventuell möchtest Du noch Links für die vorige, folgende, erste und letzte Seite ergänzen, um die Navigation durch den Seitenwald etwas komfortabler zu gestalten. Das sollte dann auch kein Problem mehr sein.
Vielen Dank.
Das sind wirklich gute Denkansätze für mich.
Gruß
Hello,
Vielen Dank.
Das sind wirklich gute Denkansätze für mich.
Eien Fertiglösung findest Du unter
http://selfhtml.bitworks.de/artikel_locking/show_visitors.php
Der Server schläft nur gerade mal wieder ein :-((
Harzliche Grüße aus
Sankt Andreasberg
und Frohes Neues Jahr
Tom
Super, danke!
Hi,
Nun möchte ich unten anzeigen lassen auf welcher Seite man sich befindet, und drei Seiten vor der aktuellen und drei danach verlinken.
Also ungefähr so: 12 13 14 15(aktuelle Seite) 16 17 18
Wobei man natürlich bedenken muss, dass auf Seite 1-3 keine Links voranstehen dürfen.
Mit ganz vielen ifs und elses würde ich das hinbekommen, aber gibt es da nicht noch einen eleganteren Weg?
Eine for-Schleife und darin eine if-Abfrage, plus ein paar arithmetische Operationen, reichen aus, wenn man es halbwegs geschickt macht.
MfG ChrisB