TS: Vor und Zurück Buttons erstellen (varX+1)

Beitrag lesen

Hello,

Zum fachlichen Vorschlag: sicherlich kann man sich eine Liste sämtlicher IDs beschaffen; das setzt aber eine vollständige Lektüre der Seminartabelle voraus. Das würde ich mal vorsichtig als Performancerisiko betrachten, wenn es viele Seminare gibt. Ermitteln von direktem Vorgänger und Nachfolger unter einer bestimmten Sortierreihenfolge ist in SQL mühsam, aber machbar und mit entsprechendem Index auch performant. Siehe meinen Vorschlag.

Wenn keine Direktverlinkung gewünscht ist (für Bookmarks notwendig), sondern nur ein Blättern möglich sein soll, ist das gar kein Problem. Dann nimmt man tatsächlich Buttons, z. B PREV und SUCC und merkt sich den SORT-Wert der aktuellen ID z. B. in der Session. Wird SUCC ausgewählt geht das Query ab SORT-Wert asc limited 3, wird PREV ausgewählt, läuft das Query ab dem SORT-Wert desc limited 3. Man hat im Ergebnis also immer nur ein, zwei oder drei Datensätze. Ich habe hier drei Sätze ab dem Sortwert genommen und nicht zwei (größer oder kleiner). Das ist je nach Umgebungslogik notwendig, dass man den gültigen SORT-Wert bei nur einem Satz im Ergebnis nicht verliert.

Enthält das Ergebnis drei Sätze, gibt es den gesuchten Nachfolger (oder Vorgänger). Außerdem bleibt der Button aktiv, weil es auch einen NachNachfolger (oder VorVorgänger) gibt.

Enthält das Ergebnis nur noch zwei DS, passiviert man den Button oder nimmt ihn ganz weg. Ich tendiere immer zu passivieren.

Enthält das Ergebnis nur noch einen DS, gobt man eine Meldung aus, dass in dieser Richtung keine DS mehr folgen. Wenn man vorher den Button passiviert hatte, sollte man hierhin gar nicht mehr gelangen. Aber das sind Feinheiten. :-)

Außerdem sollte man bei obiger Logik bezüglich der Bounds beachten, ob der Datenbestand dynamisch ist, sich also zwischen den Abfragen verändern kann.

Mit SQL-Injection dürfte es hier keine Probleme geben, da ja nur PREV und SUCC abgefragt werden und das Query nur aus Serverdaten zusammengestellt wird.

Glück Auf
Tom vom Berg

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.