Modul: Datum des letzten Seiten- bzw. Artikelupdates per SQL-Abfrage
Bei diesem Modul handelt es sich um ein Minibeispiel einer SQL-Abfrage in redaxo.
Das Modul zeigt das Datum des letzten Seiten- bzw. Artikelupdates an.
Zunächst der Quellcode der Moduleingabe:
<input type="text" size="50" name="VALUE[1]" value="REX_VALUE[1]" />
<br />
<br />
Hier wird dem Block im Backend lediglich ein Textfeld für einen einleitenden Text hinzugefügt, der dem Aktualisierungsdatum vorangestellt wird.
Interessanter wird da natürlich der Ausgabeteil unseres Moduls:
$sql = 'SELECT FROM_UNIXTIME(`updatedate`,\'%d.%m.%Y\') AS UpdateDat'
. ' FROM `rex_article` '
. ' ORDER BY `rex_article`.`updatedate` DESC'
. ' limit 1';
$lastUpdate = new sql;
$lastUpdate->setQuery($sql);
echo "<p>REX_VALUE[1] ".$lastUpdate->getValue('UpdateDat')."</p>\n";
?>
Zunächst wird die SQL-Abfrage formuliert, die aus der MySQL-Tabelle ‘rex_article’ das aktuellste Datum eines Datensatzes ausliest.
FROM `rex_article`
ORDER BY `rex_article`.`updatedate` DESC
limit 1;
Zunächst wird das Unixdatum in der Spalte ‘updatedate’ mit der MySQL-Funktion FROM_UNIXTIME in ein Datum in der Form tt.mm.JJJJ umgewandelt und mit dem ALIAS ‘UpdateDat’ versehen.
Dann wird das Ergebnis der Abfrage durch ORDER BY … DESC absteigend sortiert und per LIMIT 1 dafür gesorgt, dass nur noch eine Ergebniszeile aus der Abfrage übrig bleibt, nämlich die mit dem jüngsten Datum.
Dann wird ein neues SQL-Objekt generiert und die Abfrage mit
ausgeführt.
Zu guter letzt sorgt die Zeile
für die Ausgabe des Datums in der Form:
Letztes Update: 10.10.2011