Letzte Aktualisierung einer Website anzeigen
SQL-Abfrage
Für die Frontend-Anzeige der letzten Aktualisierung einer Website kann das Feld updatedate
der Tabelle rex_article
verwendet werden. Dieses Feld speichert immer einen timestamp der letzten Aktualisierung.
Folgende Datenbankabfrage liest das Feld updatedate
aus der rex_article-Tabelle. Durch die Limitierung auf nur einen Datensatz und die absteigende Sortierung wird immer der Datensatz der letzten Aktualisierung ausgewählt.
Da es nur einen Datensatz gibt, kann man mit $update[0]
auf das erste Element des Arrays zugreifen.
$query = 'SELECT updatedate FROM rex_article ORDER BY updatedate desc LIMIT 1';
$update = rex_sql::factory()->getArray($query);
echo 'Zuletzt aktualisiert am '.$update[0]['updatedate'];
Formatierung
Um die Standard-Datumsanzeige von yyyy-mm-dd hh:mm:ss
zu beeinflussen, könnte man bereits direkt in der SQL-Abfrage das Datum wie gewünscht formatieren:
$query = 'SELECT updatedate, date_format(updatedate, "%d.%m.%Y") as last_update FROM rex_article ORDER BY updatedate desc LIMIT 1';
$update = rex_sql::factory()->getArray($query);
echo 'Zuletzt aktualisiert am '.$update[0]['last_update'];
YForm-Tabellen einbeziehen
Sofern es weitere - z.B. über YForm erzeugte - Tabellen in der Website gibt, will man auch deren Aktualisierung berücksichtigen. In jeder der Tabellen wird ein Feld vom Typ datestamp
und mit dem Namen updatedate
angelegt. Sodann können mittels UNION die Abfragen aller Tabellen kombiniert werden. Das Beispiel zeigt die Kombination mit einer Tabelle rex_projects
.
$query = '
SELECT updatedate, date_format(updatedate, "%d.%m.%Y") as last_update FROM rex_article
UNION SELECT updatedate, date_format(updatedate, "%d.%m.%Y") FROM rex_projects
ORDER BY updatedate desc LIMIT 1';
$update = rex_sql::factory()->getArray($query);
echo 'Zuletzt aktualisiert am '.$update[0]['last_update'];