Globales änderungsdatum

Fragen zu den Grundfunktionen der webEdition Oberfläche wie Backup, Import, ...
Fragen zu we:Tags bitte im Forum "Templates erstellen"
JumpIT

Globales änderungsdatum

Beitragvon JumpIT » Mo 12. Jan 2004, 17:56

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?

Holger Biebinger

Beitragvon Holger Biebinger » Di 13. Jan 2004, 00:03

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.

Dirk Einecke
Senior Member
Beiträge: 3735
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Karlsruhe
Kontaktdaten:

Beitragvon Dirk Einecke » Fr 30. Jan 2004, 14:52

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

Holger Biebinger

Beitragvon Holger Biebinger » Fr 30. Jan 2004, 16:16

ui ok sorry,
dann muss das false !== ... weggeslassen werden. next_record() liefert nicht immer false wenn es keine neue Zeile mehr gibt.

Christoph Lütjen

Beitragvon Christoph Lütjen » Fr 30. Jan 2004, 17:12

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?

Christoph Lütjen

Beitragvon Christoph Lütjen » Mo 2. Feb 2004, 14:43

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.

Dirk Einecke
Senior Member
Beiträge: 3735
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Karlsruhe
Kontaktdaten:

Beitragvon Dirk Einecke » Mo 2. Feb 2004, 15:03

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 ?>

ulinger
Member
Beiträge: 41
Registriert: Fr 29. Okt 2004, 10:11
Wohnort: Leipzig / Mexico D.F.

Globales Änderungsdatum auf einen Bereich beschränken

Beitragvon ulinger » Di 20. Jun 2006, 17:12

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?

statist
Senior Member
Beiträge: 125
Registriert: Mo 12. Dez 2011, 14:46

Re: Globales änderungsdatum

Beitragvon statist » Mi 1. Mär 2017, 15:26

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?

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Globales änderungsdatum

Beitragvon WBTMagnum » Mi 1. Mär 2017, 16:36

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.

statist
Senior Member
Beiträge: 125
Registriert: Mo 12. Dez 2011, 14:46

Re: Globales änderungsdatum

Beitragvon statist » Mi 1. Mär 2017, 16:45

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!


Zurück zu „Basisversion“

Wer ist online?

Mitglieder in diesem Forum: Semrush [Bot] und 11 Gäste