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

Eine zufällige Auswahl von „Bausteinen” aus den Bereichen CSS, PHP, JavaScript und MySQL.

CSS - Uhrzeitanzeige mal anders!

PHP - Dateigröße umrechnen

JavaScript - Iframe alle 10 Sekunden neu laden

MySQL - Datensätze sortieren nach Länge der Zeichen