grOOvekill@
LegendVienna Badass
|
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.
Bearbeitet von grOOvekill@ am 27.07.2005, 17:19
|
mat
AdministratorLegends never die
|
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@
LegendVienna Badass
|
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
begehrt die rostschaufel
|
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
been there, done that
|
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
|
grOOvekill@
LegendVienna Badass
|
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@
LegendVienna Badass
|
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
Legendwaffle, waffle!
|
|
grOOvekill@
LegendVienna Badass
|
Ä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: echo date(d,strtotime($dataset[0])).".". date(m,strtotime($dataset[0])).".". date(Y,strtotime($dataset[0]));
Bearbeitet von watchout am 27.07.2005, 13:22
|
Seppo
Addicted
|
$zeit = date("d.m.Y", $stampausdatenbank);
echo $zeit;
|
grOOvekill@
LegendVienna Badass
|
$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 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
AdministratorLegends never die
|
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@
LegendVienna Badass
|
Ach herrje! Hab' ja nie behauptet, ein begnadeter Programmierer zu sein!  Bin schon froh, wenn ich das irgendwie hinbekomme. Ist sicher nicht die eleganteste Lösung (zu denen tendiere ich seltsamerweise sehr selten  ), aber solange es funktioniert, bin ich glücklich. Vielen Dank auf jeden Fall für Eure Hilfe!
|
Seppo
Addicted
|
Sorry, aber hat nicht gefunzt. Da hab ich folgendes Datum bei der Ausgabe erhalten: 01.08.1970
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@
LegendVienna Badass
|
butterst du den sql timestamp in die DB (also mit "NOW()") Genauso mach' ich das!  Sehr schlimm?
|