Ausgabe Zahlenformat

Fragen zum Erstellen von Templates für webEdition.
mobby
Senior Member
Beiträge: 1164
Registriert: Do 1. Sep 2005, 05:07

Ausgabe Zahlenformat

Beitragvon mobby » Di 3. Apr 2007, 01:03

Moin Moin,
ich stehe gerade mal wieder auf dem Schlauch:
Code: Alles auswählen
Letzte Änderung: <?php
$classID = (int) $GLOBALS['lv']->classID;
$objectID = (int) $GLOBALS['lv']->DB_WE->f('OF_ID');
$sql = (string) "SELECT OF_Published FROM tblObject_".$classID." WHERE OF_ID = '".$objectID."'";
$lastPublished = f($sql, 'OF_Published', $GLOBALS['DB_WE']);
// optionale Formatierung in eine lesbare Form
$lastPublished = (string) date('d.m.Y H:i', $lastPublished);
echo $lastPublished; // Ausgabe
?>,
vor <?php
$datum = date("d.m.Y");
$tage = $lastPublished-$datum;
$zeit = $tage-$tage-$tage;
echo $zeit; ?> Tagen
Dies gibt das letzte Änderungsdatum eines Objekt aus und dann rechnet er dir aus, wie viele Tage es seit "heute" gewesen sind. Innerhalb des Monats geht das ganze auch, aber über den Monatswechsel hinaus gibt er nur noch 10.99 und so ne Scherze aus. Wie bekomme ich es hin, dass er wieder richtig rechnet?
Viele Grüße
Mobby

webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Beitragvon Liquid » Di 3. Apr 2007, 09:37

Hi Mobby,

zäum das Pferd von der anderen Seite auf. Ich geh mal davon aus, dass $lastPublished als timestamp kommt.
Code: Alles auswählen
$datum_stamp = time();
$tage = $datum-$lastPublished;
$datum = ($datum_stamp*60*60*24);
Gruß Liquid

mobby
Senior Member
Beiträge: 1164
Registriert: Do 1. Sep 2005, 05:07

Beitragvon mobby » Di 3. Apr 2007, 09:59

Moin,
er gibt dann soetwas wie 1.0157072448957+14 aus.
Viele Grüße
Mobby

webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Beitragvon Liquid » Di 3. Apr 2007, 10:08

hmm, komisch!
Oh ich seh grad dass ich meinen Code verdreht hab!

Theoretisch sollte es ja so funzen. Du ziehst von der Anzahl der Sekunden bis jetzt die Anzahl der Sekunden bis zum ändern ab. Es bleibt die Anzahl der Sekunden zwischen der Änderung und jetzt und daraus werden die Tage berechnet!?!
Code: Alles auswählen
$datum_stamp = time();
$tage_stamp = $datum_stamp-$lastPublished;
$tage = ($tage_stamp*60*60*24);
Gruß Liquid

mobby
Senior Member
Beiträge: 1164
Registriert: Do 1. Sep 2005, 05:07

Beitragvon mobby » Di 3. Apr 2007, 10:22

Moin,
er gibt immer ne risige Zahlenkolone aus. Ich muss mal im Net schauen, ob ich was finde.
Viele Grüße
Mobby

webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Beitragvon Liquid » Di 3. Apr 2007, 10:42

Also, war ein sowas von blöder Fehler, aber ich galub ich habs jetzt! ;-)
Code: Alles auswählen
Letzte Änderung: <?php
$classID = (int) $GLOBALS['lv']->classID;
$objectID = (int) $GLOBALS['lv']->DB_WE->f('OF_ID');
$sql = (string) "SELECT OF_Published FROM tblObject_".$classID." WHERE OF_ID = '".$objectID."'";
$lastPublished = f($sql, 'OF_Published', $GLOBALS['DB_WE']);
// optionale Formatierung in eine lesbare Form
#$lastPublished = (string) date('d.m.Y H:i', $lastPublished);
#echo $lastPublished; // Ausgabe
?>,
vor
<?php
$datum_stamp = time();
$tage_stamp = $datum_stamp-$lastPublished;
$tage = ($tage_stamp/60/60/24);
#echo "
";
#echo $lastPublished;
#echo "
";
#echo $datum_stamp;
#echo "
";
#echo $tage_stamp;
#echo "
";
echo $tage; ?> Tagen
Gruß Liquid

Benutzeravatar
kidata
Senior Member
Beiträge: 149
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Weimar / Germany
Kontaktdaten:

Beitragvon kidata » Di 3. Apr 2007, 10:55

Liquid;45334 hat geschrieben:Also, war ein sowas von blöder Fehler, aber ich galub ich habs jetzt! ;-)
Aber wirklich. Meiner lieber Scholli. :rolleyes:
Wollte grad was posten, da hattest du es schon selbst bemerkt.

Ist schon manchmal erschreckend, wenn man vor lauter OOP etc. pp. nicht mehr mit den Grundrechenarten & Zeitberechung aus der Grundschule klar kommt.
[url=http://www.nachtschule.de/:23mgw0h1]wissen ist nacht![/url:23mgw0h1]

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Beitragvon Liquid » Di 3. Apr 2007, 11:00

Allerdings!! *bg*
Gott sei dank ist es mir selbst aufgefallen, sonst hätte ich mir erstmal nen neuen Usernamen geholt und einen auf DAU gemacht!
Gruß Liquid

mobby
Senior Member
Beiträge: 1164
Registriert: Do 1. Sep 2005, 05:07

Beitragvon mobby » Di 3. Apr 2007, 12:03

Hi,
leider ist das Ergebnis da gleiche. Kann es sein, das $lastPublished nicht als timestamp kommt?
Viele Grüße
Mobby

webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)

Benutzeravatar
kidata
Senior Member
Beiträge: 149
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Weimar / Germany
Kontaktdaten:

Beitragvon kidata » Di 3. Apr 2007, 12:34

mobby;45338 hat geschrieben:Hi,
leider ist das Ergebnis da gleiche. Kann es sein, das $lastPublished nicht als timestamp kommt?
In der Db ist das Feld OF_Published schon ein Timestamp

aber nach der Abfrage du wandelst Du es ja ins DateTime-Format:
Code: Alles auswählen
// optionale Formatierung in eine lesbare Form
$lastPublished = (string) date('d.m.Y H:i', $lastPublished);
und versuchst dann wieder eine Berechnung mit einem Timestamp.
Denke da liegt der Hase im Pfeffer.
[url=http://www.nachtschule.de/:23mgw0h1]wissen ist nacht![/url:23mgw0h1]

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Beitragvon Liquid » Di 3. Apr 2007, 13:28

Sollte funktionieren, habs getestet!
Aber Kidata hat recht,deswegen habe ich es im letzten Code auch auskommentiert! ;-)
Gruß Liquid

mobby
Senior Member
Beiträge: 1164
Registriert: Do 1. Sep 2005, 05:07

Beitragvon mobby » Di 3. Apr 2007, 14:30

Also ich habe ihn 1:1 übernommen, aber außer 13606.520126968 gibt es nix zu sehen :-(
Viele Grüße
Mobby

webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)

Benutzeravatar
kidata
Senior Member
Beiträge: 149
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Weimar / Germany
Kontaktdaten:

Beitragvon kidata » Di 3. Apr 2007, 14:56

mobby;45342 hat geschrieben:Also ich habe ihn 1:1 übernommen, aber außer 13606.520126968 gibt es nix zu sehen :-(
Dann machs mal so:
Code: Alles auswählen
Letzte Änderung: <?php
$classID = (int) $GLOBALS['lv']->classID;
$objectID = (int) $GLOBALS['lv']->DB_WE->f('OF_ID');
$sql = (string) "SELECT OF_Published FROM tblObject_".$classID." WHERE OF_ID = '".$objectID."'";
$lastPublished = f($sql, 'OF_Published', $GLOBALS['DB_WE']);
?>,
vor
<?php
$tage = floor((time() - $lastPublished) / 86400);
echo $tage; ?> Tagen
Den Timestamp der letzten Änderung muss man nämlich vom aktuellen abziehen - nicht umgekehrt, und das ganze evtl. auch noch runden, sonst gibt's 2.31234527 oder was auch immer für Tage.

Ja, ja, die Grundrechenarten ;-)
[url=http://www.nachtschule.de/:23mgw0h1]wissen ist nacht![/url:23mgw0h1]

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Beitragvon Liquid » Di 3. Apr 2007, 15:08

Also ich habs auch nochmal probiert und abgesehen von der Rundung der Ergebnisse hats gestimmt!

Und wenn man von der Rundung und der Tatsache dass Kidatas Code schöner ist absieht kommen wir aufs gleiche Ergebnis!

Haste evt. seit 13606 Tagen deine Seite nicht mehr überarbeitet?! *g*
Gruß Liquid

Benutzeravatar
kidata
Senior Member
Beiträge: 149
Registriert: Do 1. Jan 1970, 02:00
Wohnort: Weimar / Germany
Kontaktdaten:

Beitragvon kidata » Di 3. Apr 2007, 15:17

Liquid;45344 hat geschrieben:Haste evt. seit 13606 Tagen deine Seite nicht mehr überarbeitet?! *g*
Hihi, das sind ja nur so ~37 Jahre :rolleyes:

Also wenn ich das mit reinen Timestamps

1.4.2007 12:00 = 1175421600

und

3.4.2007 12:00 = 1175594400

probiere, dann haut das genau hin nach Adam Ries:

(1175594400 - 1175421600) / 86400 = 2

Allerdings liegt die Vermutung nahe, das dein $lastPublished leer bzw 0 ist - dann kommt man nämlich auf die 13604 Tage bzw. 37 Jahre ;-)

Ist das Objekt vielleicht noch nie veröffentlicht worden?!
[url=http://www.nachtschule.de/:23mgw0h1]wissen ist nacht![/url:23mgw0h1]


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 22 Gäste