Seite 1 von 1

Globales änderungsdatum

Verfasst: Mo 12. Jan 2004, 17:56
von JumpIT
Hallo zusammen,

oft sieht man ja auf den Websites wann die letzte änderung gemacht worden ist. Ich möchte dies nun auch machen allerdings nur auf einer Seite (die Später nur einer bestimmten Personengruppe zugänglich gemacht werden soll.) Soweit ja kein Problem wenn es sich auch um die Seite handeln soll die angezeigt wird.
Ich möchte aber die letzte Aktualisierung innerhalb der gesamten Website anzeigen. Also egal ob ein neuer Artikel in den Shop gelegt wurde oder eine Newsmeldung angezeigt wird.

Wie mache ich das?

Verfasst: Di 13. Jan 2004, 00:03
von Holger Biebinger
Hallo,
<?php
$sql="SELECT MAX(ModDate) FROM tblFile";
$db = new DB_WE();
$db->query($sql);
while(false !== ($db->next_record)){
$max = $db->f("ModDate");
}

?>

letztes Ändetungsdatum: <?php print(date("d.m.Y",$max)); ?>
So müsste es eigentlich gehen.

Verfasst: Fr 30. Jan 2004, 14:52
von Dirk Einecke
Hi.

Eine IMHO bessere Lösung ist diese:

Code: Alles auswählen

<?php
  $a_temp = array(); // Array init
  $DB_WE->query("SELECT ModDate FROM tblFile"); // Daten holen
  while($DB_WE->next_record())
    $a_temp[] = $DB_WE->f("ModDate");  // Daten in ein Array schreiben
  asort($a_temp); // Sortieren
?>

<?php echo(date("d.m.Y",$a_temp[0])); // Ausgabe ?>
@Holger:
Dein Code verursacht sowas:

Code: Alles auswählen

Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/vhosts/xxxx/html/webEdition/we/tmp/726xxxxxxxxx1f4c5b8aada8eb0e13 on line 36

Verfasst: Fr 30. Jan 2004, 16:16
von Holger Biebinger
ui ok sorry,
dann muss das false !== ... weggeslassen werden. next_record() liefert nicht immer false wenn es keine neue Zeile mehr gibt.

Verfasst: Fr 30. Jan 2004, 17:12
von Christoph Lütjen
Hallo,

also dann will ich aber auch mitmachen! Mein Vorschlag:

Datum laden:

Code: Alles auswählen

<?php
 $datum = date("d.m.Y", mysql_result(mysql_query("SELECT max(ModDate) FROM tblFile"), 0));
?>
Datum ausgeben:

Code: Alles auswählen

<we:var type="global" name="datum">
Hab's nicht ausprobiert, aber eigentlich müsste es doch gehen?

Verfasst: Mo 2. Feb 2004, 14:43
von Christoph Lütjen
Hallo,

kleine Ergänzung: Das Änderungsdatum einer einzelnen Seite erhalten Sie:

Code: Alles auswählen

<?php $GLOBALS['aenderungsdatum'] = date("d.m.Y.", $we_doc->ModDate); ?>
Das Erstelldatum erhalten Sie wie folgt:

Code: Alles auswählen

<?php $GLOBALS['erstelldatum'] = date("d.m.Y.", $we_doc->CreationDate); ?>
Viel Erfolg.

Verfasst: Mo 2. Feb 2004, 15:03
von Dirk Einecke
Hi.

So - es war noch ein kleiner Fehler im Code. Hier nun mal der (vorläufige) Final-Code:

Code: Alles auswählen

<?php 
  $a_temp = array(); // Array init 
  $DB_WE->query("SELECT ModDate FROM tblFile"); // Daten holen 
  while($DB_WE->next_record()) 
    $a_temp[] = $DB_WE->f("ModDate");  // Daten in ein Array schreiben 
  rsort($a_temp); // Sortieren
?> 

<?php echo(date("d.m.Y",$a_temp[0])); // Ausgabe ?>

Globales Änderungsdatum auf einen Bereich beschränken

Verfasst: Di 20. Jun 2006, 17:12
von ulinger
Das Script funktioniert gut. Ist es auch möglich, daß die Suche nach der letzten Änderung auf einen bestimmten Bereich (Verzeichnis oder Kategorie) beschränkt werden kann?

Re: Globales änderungsdatum

Verfasst: Mi 1. Mär 2017, 15:26
von statist
Hallo zusammen,

muss kurz an dieses Thema anknüpfen: Hat jemand eine Idee, warum

Code: Alles auswählen

<?php
 $datum = date("d.m.Y H:i", mysql_result(mysql_query("SELECT max(ModDate) FROM tblObject"), 0));
?>
funktioniert,

Code: Alles auswählen

<?php
 $datum = date("d.m.Y H:i", mysql_result(mysql_query("SELECT max(ModDate) FROM tblObject_3"), 0));
?>
(also mit "tblObject_3") aber nicht?

Re: Globales änderungsdatum

Verfasst: Mi 1. Mär 2017, 16:36
von WBTMagnum
Hallo Statist,

Das Feld "ModDate" steht in "tblObject_3" nicht zur Verfügung. Das musst du - wenn du bei deiner SQL-Lösung bleiben willst - wohl über "tblObjectFiles" machen.

Ich würde das ja via Listview auslesen (sh. Tag-Referenz). Folgendes sollte funktionieren:

Code: Alles auswählen

<we:listview type="object" ... order="we_moddate" rows="1" desc="1">
...
<we:field name="wedoc_ModDate"/>
...
</we:listview>
HTH,
Sascha

PS: Alte Threads für neue Probleme aufzuwärmen ist nicht wirklich Best-Practice in einem Forum. Beim nächsten Mal bitte einen neuen Thread auf machen. Du kannst ja auf ältere Threads referenzieren.

Re: Globales änderungsdatum

Verfasst: Mi 1. Mär 2017, 16:45
von statist
Hallo Sascha,

danke für Deine Erklärung, mit tblObjectFiles klappt's (mach ich über PHP, damit das Datum nur 1x global ausgegeben wird).
Das mit dem Aufwärmen werd ich berücksichtigen :)

Danke nochmal!