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.
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
$resP = mysql_query ("
SELECT * FROM tabelle_namen
WHERE nachname < ( SELECT nachname FROM tabelle_namen WHERE id = $id )
ORDER BY nachname DESC limit 0,1");
$resPrev = mysql_fetch_assoc($resP);
$resN = mysql_query("
SELECT * FROM tabelle_namen
WHERE nachname > ( SELECT nachname FROM tabelle_namen WHERE id = $id )
ORDER BY nachname ASC limit 0,1");
$resNext = mysql_fetch_assoc($resN);
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.
$resL = mysql_query ("
SELECT MAX(ID) FROM tabelle_namen
$resLast = mysql_fetch_assoc($resL);$resF = mysql_query ("
SELECT MAX(ID) + 1 FROM tabelle_namen
$resFollow = mysql_fetch_assoc($resF);$resD = mysql_query ("
SELECT MIN(ID) + 1 FROM tabelle_namen A
WHERE NOT EXISTS ( SELECT * FROM tabelle_namen B WHERE B.ID = A.ID +1 )
$resDelet = mysql_fetch_assoc($resD);
$resA = mysql_query ("
COUNT(`IDA`) AS `IDA`, `ID` FROM tabelle_namen
GROUP BY `ID` ORDER BY `IDA` DESC
$resAssign = mysql_fetch_assoc($resA);
Den alphabetisch nächsten und vorherigen Datensatzes aus einer Datenbank ermitteln und in alphatischer Reihenfolge den nächsten und vorherigen Datensatz ausgeben.
In einer Datenbanktabelle einen bestimmten Teil eines Strings suchen und diesen dann auszutauschen.
Beim Aufruf einer Website sendet jeder Browser eine Kennung, die dem Server angibt, um welchen "User-Agent" es sich handelt.
Für zeitgesteuerte Inhalte sind Datum- und Uhrzeitfunktionen unerlässlich. Grundlage bildet der von Unix-Systemen verwendete Timestamp.
Häufig genügt es zu wissen, wie viele Zeichen der Text beinhaltet, php kann jedoch weitaus mehr.
Häufig ist es notwendig mehrere Zeichen oder Zeichenfolgen innerhalb eines Strings zu ersetzen.
Standardkonformer HTML-Code erfordert eine korrekte Ausgabe sämtlicher Literalen, dazu gehören auch und vor allem soggenannte HTML-Entity.
Um die Farben einzelner Elemente auf Webseiten festzulegen, gibt es zwei Möglichkeiten. Die Farben können als RGB-Werte im Hexadezimalformat oder ...
Die PHP PCRE Funktionen sind eine Programmbibliothek zur Auswertung von Regulären Ausdrücken ...
Reguläre Ausdrücke, auch Regex oder RegExp genannt, sind Zeichen- ketten, die ...
Praxisbzogene Regular Expression Beispiele für die Anwendung in PHP.