[PHP] Aufruf einer Seite --> timestamp - sinnvoll?

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_aufruf_einer_seite_gt_timestamp_sinnvoll_146541/page_1 - zur Vollversion wechseln!


grOOvekill@ schrieb am 27.07.2005 um 10:24

S'gott,

folgendes Problem:

ich habe eine Website, wo links das Datum der letzten Bearbeitung stehen soll. Nachdem es mühsam ist, das immer von Hand einzugeben, würde ich das gerne automatisieren.

Als Ansatz dachte ich daran, einfach die Adminseite herzunehmen. Die Seite wird nicht von mir verwaltet. Der Besitzer hat eine Adminseite, wo er diverse News eintragen, Gästebucheinträge verwalten und Fotos uploaden kann. Und jedes Mal, wenn er diese admin.php Seite mittels Browser aufruft, fände ich es toll, wenn man in irgendein txt File einen timestamp reinknallen könnte, der dann von der Website ausgelesen und angezeigt wird.

Ist das möglich? Ist das sinnvoll? Gibt es eine bessere Lösungsvariante?

Wäre dankbar für Tipps.

edit: Achja, ich sollte vielleicht noch erwähnen, dass ich in php unterwegs bin. ;)


mat schrieb am 27.07.2005 um 11:00

Zitat
Ist das möglich? Ist das sinnvoll? Gibt es eine bessere Lösungsvariante?
ja / gute frage, wenn das wirklich etwas bringt, dass man weiss wann er das letzte mal im admin panel war / datenbank


grOOvekill@ schrieb am 27.07.2005 um 11:04

Also, eigentlich brauche ich nur irgendeinen Anhaltspunkt, dass an der Seite etwas geändert wurde, contentmäßig gesehen. Ich wüßte nicht, woran ich mich sonst orientieren sollte um mir das "Last edited: "-Datum zu besorgen.

Bin aber natürlich offen für alle brauchbaren Lösungsvorschläge. :)


semteX schrieb am 27.07.2005 um 11:08

wird die file selbst verändert oder nur ein datenbankeintrag?

aja sinnvollere möglichkeit: da du offenbar datenbank verwendest ne tabelle namens "lastchanges" anlegn und dort immer das aktuelle datum / zeit nach nem "insert" des admin scripts..


vossi schrieb am 27.07.2005 um 11:09

dazu musst do wohl etwas ins adminscript reinhängen.
wenn der veränderte/neue datensatz abgeschickt wird einfach in der selben table wo der content reinkommt hinten ein feld timestamp anlegen und das inserten/updaten und dann bei der ausgabe zusammen mit dem content auslesen

edit semteX verdammt, post langsamer :D


grOOvekill@ schrieb am 27.07.2005 um 11:15

Zitat von semteX
wird die file selbst verändert oder nur ein datenbankeintrag?

aja sinnvollere möglichkeit: da du offenbar datenbank verwendest ne tabelle namens "lastchanges" anlegn und dort immer das aktuelle datum / zeit nach nem "insert" des admin scripts..

Hm.. der Gedanke ist mir soeben gekommen. Ich lege einfach eine zusätzliche Tabelle an und jedesmal, wenn per Admin Seite etwas verändert wird (update, insert oder delete), knall ich einfach einen timestamp dort rein, der dann einfach ausgegeben wird.

Ich hab' keine Ahnung, ob das elegant gelöst ist, oder nicht, aber ich versuch's einfach mal. :)

Danke für die Tipps!


grOOvekill@ schrieb am 27.07.2005 um 12:07

Urgs! Okay, ich hab's mal geschafft, einen Timestamp bei einem Update zu setzen. Wird auch richtig ausgegeben, nur leider nicht so formatiert, wie ich das gerne hätte.

Ausgegeben wird das hier: "20050727"
Ich hätte aber gerne: "27.07.2005"

Jemand auf die Schnelle eine Ahnung, wie ich das am einfachsten hinbekomme? Ich kuck mir inzwischen mal diverse PHP String Funktionen an.


rettich schrieb am 27.07.2005 um 12:12

http://at.php.net/manual/en/function.date.php


grOOvekill@ schrieb am 27.07.2005 um 12:35

Ächz! Damit hatte ich es schon probiert, hat aber nicht gefunzt. War mir nicht sicher, ob die gleichen Regelgungen gelten, wenn ich mir das Datum als Timestamp aus der Tabelle hole. Bei date(blabla) isses ja leicht. Wie auch immer, hab's jetzt hingebogen, die Zeile sieht nun so aus und funktioniert auch:

Code: PHP
echo date(d,strtotime($dataset[0])).".". date(m,strtotime($dataset[0])).".". date(Y,strtotime($dataset[0]));


Seppo schrieb am 27.07.2005 um 12:39

$zeit = date("d.m.Y", $stampausdatenbank);

echo $zeit;


grOOvekill@ schrieb am 27.07.2005 um 12:40

Zitat von Seppo
$zeit = date("d.m.Y", $datenbankstamp);

echo $zeit;

Sorry, aber hat nicht gefunzt. Da hab ich folgendes Datum bei der Ausgabe erhalten: 01.08.1970 :confused:

Ich glaube es liegt daran, dass ich beim Holen des TImestamps ein Array erhalte, auf das ich nicht einfach so zugreifen kann. Mußte eben den Umweg gehen.

Wie auch immer, es funktioniert jetzt. :)


mat schrieb am 27.07.2005 um 12:41

speicher den timestamp als unsigned int in der datenbank. dann kannst du ihn per time() speichern und per date gemütlich formatieren.

btw: date solltest du so verwenden wies im handbuch steht ;)


grOOvekill@ schrieb am 27.07.2005 um 12:43

Ach herrje! Hab' ja nie behauptet, ein begnadeter Programmierer zu sein! :D Bin schon froh, wenn ich das irgendwie hinbekomme. Ist sicher nicht die eleganteste Lösung (zu denen tendiere ich seltsamerweise sehr selten :D), aber solange es funktioniert, bin ich glücklich.

Vielen Dank auf jeden Fall für Eure Hilfe!


Seppo schrieb am 27.07.2005 um 12:44

Zitat von grOOvekill@
Sorry, aber hat nicht gefunzt. Da hab ich folgendes Datum bei der Ausgabe erhalten: 01.08.1970 :confused:

Ich glaube es liegt daran, dass ich beim Holen des TImestamps ein Array erhalte, auf das ich nicht einfach so zugreifen kann. Mußte eben den Umweg gehen.

Wie auch immer, es funktioniert jetzt. :)

butterst du den sql timestamp in die DB (also mit "NOW()")
oder den php timestamp, also eine variable die vor dem insert mit "time()" befüllt wird ?


grOOvekill@ schrieb am 27.07.2005 um 12:46

Zitat von Seppo
butterst du den sql timestamp in die DB (also mit "NOW()")

Genauso mach' ich das! :D
Sehr schlimm?




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025