. .

MySQL • nächster und vorheriger Eintrag

MySQL - nächsten und vorherigen Datensatz

Für eine so genannte Blätter-Funktion bedurfte es des alphabetisch nächsten und vorherigen Datensatzes aus einer Datenbank. Also ohne Berücksichtigung der ID, es sollte also der Namen einer Person in der Datenbank gesucht werden und der der alphatischen Reihenfolge entsprechende nächste und vorherige Name ausgeben werden.


Ein Beispiel:

der aktuell angezeigte Datensatz mit der ID 1001
der alphabetische vorherige mit der ID 207
der alphabetische nächsten mit der ID 107

Herr Müller Manfred
Herr Müller Gerd
Herr Müller Wolfgang

Eine klassische Suche und Sortierung anhand der ID brachte in diesem Fall nicht das gewünschte Ergebnis.

der aktuell angezeigte Datensatz mit der ID 1001
der vorherige mit der ID 1000
der nächsten mit der ID 1002

Herr Müller Manfred
Herr Schröder Gerhard
Herr Schulze Klaus

Die Lösung:

vorherigen Datensatz ermitteln


SELECT * FROM tabelle_namen
WHERE nachname < ( SELECT nachname FROM tabelle_namen WHERE id = $id )
ORDER BY nachname DESC limit 0,1 ");

nächsten Datensatz ermitteln


SELECT * FROM tabelle_namen
WHERE nachname > ( SELECT nachname FROM tabelle_namen WHERE id = $id )
ORDER BY nachname ASC limit 0,1");

Zur Erklärung:


Die Abfrage in den Klammern ( ) wir zuerst ausgeführt. Es wird also der Name anhand der vorgegebenen ID gesucht. Im zweiten Teil wird dieser Name dann mit dem < bzw. > der Abfrage - alle Namen alphabetisch aufwärts (ASC) bzw. abwärts (DESC) verglichen. Die Ausgabe des Ergebnisses wird dann durch limit 0,1 - auf eine Position, also den nächsten bzw. vorherigen begrenzt.

Genutzt wurde diese Abfrage für eine AccessKey Navigation die per [Alt+3] den Aufruf des nächsten Datensatzes bzw. per [Alt+2] den Aufruf des vorherigen Datensatzes ermöglicht.


MySQL • letzten - folgenden - leeren Eintrag ermitteln

MySQL - letzten / folgenden Datensatz


letzten Datensatz ermitteln


SELECT MAX(ID) FROM tabelle_namen ")

folgenden Datensatz ermitteln


SELECT MAX(ID) + 1 FROM tabelle_namen ")

letzten freien / gelöschten Datensatz ermitteln


SELECT MIN(ID) + 1 FROM tabelle_namen A
WHERE NOT EXISTS ( SELECT * FROM tabelle_namen B WHERE B.ID = A.ID +1 ) ")

Anzahl Datensätze einer Zuordnung ermitteln


COUNT(`IDA`) AS `IDA`, `ID` FROM tabelle_namen
GROUP BY `ID` ORDER BY `IDA` DESC ")

» zum Seitenanfang

Tipps & Tricks

mehr zum Thema: nächster und vorheriger EintragMySQL nächsten und vorherigen Datensatz

Den alphabetisch nächsten und vorherigen Datensatzes aus einer Datenbank ermitteln und in alphatischer Reihenfolge den nächsten und vorherigen Datensatz ausgeben.

» mehr zum Thema: nächster und vorheriger Eintragmehr lesen

mehr zum Thema: Teil eines Datensatzes suchen und ersetzenMySQL Teilstring suchen und ersetzen

In einer Datenbanktabelle einen bestimmten Teil eines Strings suchen und diesen dann auszutauschen.

» mehr zum Thema: Teil eines Datensatzes suchen und ersetzenmehr lesen

mehr zum Thema: Browser & IP-Adresse indentifizierenPHP Browser identifizieren

Beim Aufruf einer Website sendet jeder Browser eine Kennung, die dem Server angibt, um welchen "User-Agent" es sich handelt.

» mehr zum Thema: Browser & IP-Adresse indentifizierenmehr lesen

mehr zum Thema: Datum und UhrzeitfunktionPHP Datum und Zeit

Für zeitgesteuerte Inhalte sind Datum- und Uhrzeitfunktionen unerlässlich. Grundlage bildet der von Unix-Systemen verwendete Timestamp.

» mehr zum Thema: Datum und Uhrzeitfunktionmehr lesen

mehr zum Thema: Anzahl Zeichen im String ermittelnPHP Zeichen & Wörter zählen

Häufig genügt es zu wissen, wie viele Zeichen der Text beinhaltet, php kann jedoch weitaus mehr.

» mehr zum Thema: Anzahl Zeichen im String ermittelnmehr lesen

mehr zum Thema: Zeichen & Zeichenfolgen ersetzenPHP Zeichen ersetzen

Häufig ist es notwendig mehrere Zeichen oder Zeichenfolgen innerhalb eines Strings zu ersetzen.

» mehr zum Thema: Zeichen & Zeichenfolgen ersetzenmehr lesen

mehr zum Thema: HTML-Entity - Maskierungen für SonderzeichenPHP HTML-Entities

Standardkonformer HTML-Code erfordert eine korrekte Ausgabe sämtlicher Literalen, dazu gehören auch und vor allem soggenannte HTML-Entity.

» mehr zum Thema: HTML-Entity - Maskierungen für Sonderzeichenmehr lesen

mehr zum Thema: Farbwerte von RGB nach HEX bzw. HEX nach RGBPHP RGB/HEX-Umrechner

Um die Farben einzelner Elemente auf Webseiten festzulegen, gibt es zwei Möglichkeiten. Die Farben können als RGB-Werte im Hexadezimalformat oder ...

» mehr zum Thema: Farbwerte von RGB nach HEX bzw. HEX nach RGBmehr lesen

mehr zum Thema: Perl Compatible Regular ExpressionsPHP PCRE-Funktionen

Die PHP PCREInformationBedeutung: PCREPerl Compatible Regular Expressions Funktionen sind eine Programmbibliothek zur Auswertung von Regulären Ausdrücken ...

» mehr zum Thema: Perl Compatible Regular Expressionsmehr lesen

mehr zum Thema: Regular Expressions / RegExpPHP Reguläre Ausdrücke

Reguläre Ausdrücke, auch Regex oder RegExp genannt, sind Zeichen- ketten, die ...

» mehr zum Thema: Regular Expressions / RegExpmehr lesen

mehr zum Thema: Regular Expressions / RegExpRegEx Beispiele

Praxisbzogene Regular Expression Beispiele für die Anwendung in PHP.

» mehr zum Thema: Regular Expressions / RegExpmehr lesen


Tastaturkürzel