| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Dumm lebt länger Registriert seit: Jan 2004 Ort: Sachsen
Beiträge: 425
|
Hi, ich enwickle gerade eine Applikation und bin mir noch nicht sicher, ob mein Webserver bis zum Release auf MySQL 5 umgestellt wird (jetzt V4). Mein Problem war das unterschiedliche Timestamp-Format. Um das Problem möglichst geschickt zu umgehen habe ich eine kleine Funktion geschrieben, die die Geschichte dynamisch verwaltet. Vielleicht kann es ja jemand gebrauchen PHP-Code: PHP-Code: 2. Anmerkung: Die Funktionen like und replace sind aus meiner pers. Snippetsammlung. Ich habe sie genommen, damit es übersichtlich bleibt. Man kann das Ganze natürlich auch in einer einzigen Funktion lösen. 3. Anmerkung: Für meine Zwecke reicht das aus und ich werde es deswegen nicht erweitern. Aber ich würde mich natürlich über Modifikationen, Lob und Kritik freuen. Grüße, Vampire's Party
__________________ Blog Geändert von Vampire's Party (22-11-2005 um 22:00 Uhr) |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Jul 2003 Ort: Berlin
Beiträge: 283
|
Nun ja was soll man denn bei dem Auslesen eines Zeitstempels (Sekunden seit irgendwann 1970) falsch machen. Das Formatieren des Datums kann ja nach dem Auslesen gemacht werden
__________________ ein mensch ohne macke ist kacke... |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Jul 2003 Ort: Berlin
Beiträge: 283
|
Also ein Zeitstempel ist bei mir die Rückgabe der Funtionen time() und mktime(). Dieser Stempel stellt die Sekunden dar die seit irgendeinem Datum 1970 vergangen sind. Da dieser Zeitstempel einfach nur eine Zahl darstellt, lässt er sich auch wunderbar in einer Datenbank ablegen und ntürlich auch wieder auslesen. Um nun aus dem Zeitstempel einen lesbaren String zu erzeugen, muss nur ein kurzer aufruf an die Funktion date('d.m.Y (H:i)', $zeitstempel) gemacht werden und schon erhält man den gewünschten String ohne sich Gedanken über irgendeine Datenbankversion machen zu müssen.
__________________ ein mensch ohne macke ist kacke... |
| | |
| | #7 (permalink) |
| Dumm lebt länger Registriert seit: Jan 2004 Ort: Sachsen
Beiträge: 425
|
Ahh, OK.. Ich habe gar nicht von PHP geredet, sondern von MySQL. Also wenn man ein Datenfeld vom Typ timestamp hat. Wenn man über PHP einen neuen Datensatz einfügt: Code: INSERT INTO table ( datum ) VALUES ( NOW() )
__________________ Blog |
| | |
| | #8 (permalink) |
| °.oO°O.o°.oO.o°O Registriert seit: Jun 2005 Ort: CH
Beiträge: 1.490
|
Da kann ich Vampire nur zustimmen... die Timestamps von PHP und MySQL haben ausser dem Namen nicht viel gemein! PHP errechnet einen Timestamp aus der Zeitspanne zwischen dem (schon so viel angesprochenen) Datum um 1970 herum und dem gewünschten Datum. MySQL allerdings speichert seinen Timestamp im Format "JJJJMMDDhhmmss"! Eine Umwandlung per date() würde also irgendwas komisches ausgeben. So gesehen, muss man aufpassen, ob man einen PHP-TS einfach in ne int-Spalte speichert oder aber ein Datum in MySQL per MySQL-TS speichern lässt. Wobei ich empfehlen würde, das Datum in MySQL als Datumsspalte zu speichern und anschliessend die Ausrechnungen von MySQL ausführen zu lassen (ist ein bisschen schneller als PHP ).Per PHP-Code: oder aber per PHP-Code: So, ich hoffe, ich habe jetzt keinen Quatsch erzählt! ![]()
__________________ There is no way to happiness, happiness is the way! - Buddha Geändert von bamboocha (23-11-2005 um 08:00 Uhr) |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Jan 2003 Ort: Arminia!!!! Bielefeld
Beiträge: 1.138
|
hab noch ne kleine optimierung für die ersten 2 Funktionen: PHP-Code:
__________________ Wieviel hätte ich also für dieses Fahrzeug zu investieren??? |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |