dedlfix: Seitenzahlen mit mysql Datensätzen

Beitrag lesen

Hi!

ich habe meiner Meinung nach eine extrem kompliziert Problem.

Naja, so extrem ist es nun auch wieder nicht, denn Pager-Lösungen gibt es einige.

Im normal Zustand, gibt es links und rechts von der aktuelle 3 Seiten.
In den anderen beiden Zuständen, wird jeweils die fehlende Anzahl der anderen dazu addiert.
Also fehlen mir folgende Werte:

  • erste Seite die angezeigt wird
  • letzte Seite die angezeigt wird
    die beiden Werte müssen sich dann aber anpassen so das immer (außer wenn es weniger als 7 Seiten gibt) 7 Seiten zur Auswahl stehen.

Du hast die aktuelle Seite, du kennst die Differenz zur ersten oder zur letzten. Wenn sie weniger als 3 ist, hast du einen Korrekturwert für die andere Seite. Das beste ist außerdem noch, wenn die erste Seite zumindest zum internen Rechnen die Nummer 0 bekommt, sonst musst du immer eine 1 hinzufügen oder abziehen.

max(0, 3 - n) ist die Anzahl der zusätzlichen Seiten auf der rechten Seite.

Proberechnungen:
3 - 0 = 3
3 - 1 = 2
3 - 2 = 1
3 - 3 = 0
3 - 4 = -1, aber max(0, -1) = 0

Bekommst du die Rechte Seite selbst hin? Zu beachten ist noch der Spezialfall wenn weniger als 7 Seiten existieren. Da müsstest du den max/min-Trick auch noch mal auf die Berechnung von 3 und dem Korrekturwert anwenden.

Lo!