den nächsten datensatzt holen
kai
- datenbank
hallo,
ich möchte bei einer galleri ein durchblätter funktion bauen.
ansich natürlich kein problem , aber als ich gerade so die
mysql abfrage baute dachte ich mir da muss es doch was geben..
was ich möchte in worten:
Select 'den nächsten datensatz'
from Tabelle
Where indexfeld='jetztwert'
Order by sortierkriterium..
also den datensatz der bei gegebener sortierung auf diesen folgt ..
hoffe man kanns verstehen ...
danke
kai
Hello,
soll die Abfrage dynamaisch oder als Snapshot durchgeführt werden?
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
hallo,
ja muss ja dyn ..
gibbet da keine mysql funktion ??
kai
Hello,
ja muss ja dyn ..
Warum?
Eigentlich ist sowas sogar lästig.
Insbesondere wenn man die Billiglösung mit 'Limit $offset, $count' benutzt.
gibbet da keine mysql funktion ??
Es gibt keine 'nächsten Datensätze' in einer SQL-Datenbank.
Dieses Feature musst Du Dir künstlich bauen über eine Sortierung.
Die funktioniert aber nur dann, wenn die sortierte Spalte (oder Kombination) keine Duplikates enthält.
Die Snapshot-Lösung ist bei Verwendung von Sessions (oder ähnlichen Verfahren) durchaus praktikabel. Erstelle eine Abfrage und beschaffe Dir die Primärschlüssel der Datensätze. Die speicherst Du in einer temporären Tabelle, Datei oder Array in der Session.
Und dann navigiert Du nur noch durch diese Liste und beschaffst Dir immer passend den Datensatz zur ID. Wenn er nicht mehr da ist, nimmst Du solange den nächsten (oder vorigen) in der Liste, bis wieder einer vorhanden ist.
Das ist jetzt nur eine Alternative...
Üblich ist die Verwendung von LIMIT, was aber in sehr dynamischen Datenbeständen ganz schön lästig sein kann. Singledatenbanken mit "Anzeigen aller XYZ nach letztem Login" ist so ein typisches Beispiel dafür. Du schaltest eine Seite weiter, und hast fast wieder dieselben Kandidaten...
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom