MySQL - Den nächsten und vorherigen Datensatz ermitteln

Ein Beispiel für eine so genannte Blätter-Funktion (Pagination). Der Platzhalter $id enthält eine ID (z.B.: vom Ergebnis einer Suchanfrage an die DB).

// Der vorherige Datensatz (sortiert nach dem Datum)

SELECT `date`, `name`, `id`
 FROM `table` 
 WHERE `date` < ( SELECT `date` FROM `table` WHERE `id` = $id )
 ORDER BY `date` DESC LIMIT 0,1


// Der nächste Datensatz (sortiert nach dem Datum)

SELECT `date`, `name`, `id`
 FROM `table` 
 WHERE `date` > ( SELECT `date` FROM `table` WHERE `id` = $id )
 ORDER BY `date` ASC LIMIT 0,1

// Der vorherige Datensatz (sortiert nach dem Namen)

SELECT `date`, `name`, `id`
 FROM `table` 
 WHERE `name` < ( SELECT `name` FROM `table` WHERE `id` = $id )
 ORDER BY `date` DESC LIMIT 0,1


// Der nächste Datensatz (sortiert nach dem Namen)

SELECT `date`, `name`, `id`
 FROM `table` 
 WHERE `name` > ( SELECT `name` FROM `table` WHERE `id` = $id )
 ORDER BY `name` ASC LIMIT 0,1

Bausteine  [Alle Anzeigen]

Eine zufällige Auswahl von Bausteinen (Snippets) aus den Bereichen CSS, PHP, JavaScript und MySQL.

CSS - CSS-Variablen

PHP - Alle Sessions ausgeben

JavaScript - Text über ID auslesen und ändern

MySQL - Eintrag in der Tabelle löschen