![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Erfahrener Benutzer
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 481
|
Hallo,
ich habe wieder angefangen selbstständig mit PHP zu programmieren. Jetzt hab ich leider ein Problem, und der Code leidet auch sehr darunter. Folgendes Problem. Ich möchte einen Termin in der DB speichern. Daten: indate (Zeit als der Beitrag erstellt wurde) uid (User ID des Verfassers) outdate (Zeit des Termins) message (Der Text der angezeigt werden soll) ip (IP-Adresse des Users) Wie bekomm ich jetzt die Zeit in die Tabelle? Welches Format müssen die Zeilen haben? Wichtig ist, das die Zeit beim ausgeben wieder in zwei verschiedenen Spalten angezeigt werden soll. Einmal das Datum, und einmal die Uhrzeit. Wäre sehr nett, wenn mir einer einfach mal kurz den Code geben könnte. Ich verzweifel nur grad, und wollte eigentlich noch weiter machen ....... Jan
__________________
Jan info.malte-gerth.de ================================= Nutzt bitte lieber Jabber statt ICQ: malte.gerth@jabber.cz |
|
|
|
|
|
Nach oben #2 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
|
|
|
|
|
|
Nach oben #3 |
|
Mensch
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.710
|
Ich finde es extrem nervig, wenn Daten (Mehrzahl von Datum) in einer bestimmten Art und Weise in der DB landen.
Unixtimestamp und der Rest wird über die Applikation angepasst, so muss man bei Mehrsprachigkeiten z.b. nicht dauernd rechnen und tun, sondern kann schön von einer universellen Basis sich das zurechtmachen und beliebig darstellen.
__________________
I did it my way - Senseless-Blog |
|
|
|
|
|
Nach oben #4 |
|
Erfahrener Benutzer
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 481
|
Ja, Unixtimestamp ist sicherlich gut,
aber wie bekomm ich den zusammen, wenn ich ein Formular hab, wo man den Tag, den Monat, das Jahr, die Stunde und die Minuten aus einer Selectliste auswählt? Wie kann ich dann aus diesen Werten einen Timestamp erzeugen?
__________________
Jan info.malte-gerth.de ================================= Nutzt bitte lieber Jabber statt ICQ: malte.gerth@jabber.cz |
|
|
|
|
|
Nach oben #6 |
|
n00b -.-
Registriert seit: 10.11.2005
Beiträge: 318
|
Jopp...
In etwa so dann, ne? PHP-Code:
__________________
Alle wollen doch nur mein Bestes. Aber sie werden es nicht kriegen!
|
|
|
|
|
|
Nach oben #7 | |
|
Erfahrener Benutzer
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 789
|
Zitat:
Es spricht erstmal nichts dagegen, die Zeitpunkte als Feld "DATE" oder "DATETIME" anzulegen. Der Vorteil ist, dass du so über die ganze Palette der MySQL(/...) - Zeit- und Datumsfunktionen zugreifen kannst. Wie du das Datum dann in der PHP-Awendung abbildest ist letztlich Wursch - am besten natürlich in einem entsprechenden Datatype-Objekt, ds nach auße ohnehin nicht preisgit, wie die Werte intern gespeichert werden. Basti |
|
|
|
|
|
|
Nach oben #8 |
|
Erfahrener Benutzer
Registriert seit: 14.08.2005
Ort: Nienburg / Weser
Beiträge: 662
|
Sicherlich ist zum Rechnen der Unix-Timestamp die bessere Wahl der Speicherung, jedoch sollte man bedenken, dass der Unix-Timestamp etwas unübersichtlich ist, wenn man selber in der Datenbank direkt mal ab und zu unterwegs ist. Schließlich muss man immer rechnen, bevor man sieht, welches Datum sich hinter dem Unix-Timestamp befindet und ich nehme niemandem ab, dass er auf den ersten Blick sieht, welches Datum da denn nun steht.
Abgesehen davon finde ich es auch deutlich schöner, das Datum über den Query zu formatieren, als hinterher noch extra wieder PHP-Code dafür verwenden zu müssen.
__________________
Paradox ist, wenn jemand für seinen Alkoholkonsum geradestehen soll |
|
|
|
|
|
Nach oben #9 | |
|
Erfahrener Benutzer
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 481
|
So, jetzt hab ich das Problem gelöst.
Das Datum wird als Unixtimestamp gespeichert. Ich gebe jetzt das Datum im Format "d.m.Y" in einem Textfeld aus. Jetzt möchte ich, das man das Datum ändert, und dann beim Absenden das Datum (zBsp: 25.11.2006 ) wieder als Timestamp in die Datenbank kommt. Wie bekomm ich das hin? Zitat:
PHP-Code:
Also die Sommerferien sich ändern, die Herbstferien und so weiter. Jeweils mit dem datum das in dem textarea eingegeben wurde.
__________________
Jan info.malte-gerth.de ================================= Nutzt bitte lieber Jabber statt ICQ: malte.gerth@jabber.cz |
|
|
|
|
|
|
Nach oben #10 | |
|
Erfahrener Benutzer
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
|
http://us2.php.net/function.mktime
Zitat:
__________________
http://www.ChrisDiary.De |
|
|
|
|
|
|
Nach oben #11 |
|
Erfahrener Benutzer
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 481
|
Ich habe das Problem, das das Datum im Format 11.05.2003 vorliegt.
Wie kann ich das den mit mktime verwenden?
__________________
Jan info.malte-gerth.de ================================= Nutzt bitte lieber Jabber statt ICQ: malte.gerth@jabber.cz |
|
|
|
|
|
Nach oben #12 |
|
Erfahrener Benutzer
Registriert seit: 04.09.2005
Ort: Nürnberg
Beiträge: 561
|
Du wendest explode() oder preg_split() auf deinen String an, und übergibst dann die Parameter an mktime()
__________________
http://www.ChrisDiary.De |
|
|
|
|
|
Nach oben #13 |
|
Erfahrener Benutzer
Registriert seit: 08.01.2006
Ort: Mannheim
Beiträge: 481
|
hehe,
ist mir auch eingefallen, habs aber erst getestet, und dann hattest du schon geantwortet. Trotzdem danke. Es werden wahrscheinlich noch mehr fragen kommen
__________________
Jan info.malte-gerth.de ================================= Nutzt bitte lieber Jabber statt ICQ: malte.gerth@jabber.cz |
|
|
|
|
|
Nach oben #14 |
|
Erfahrener Benutzer
Registriert seit: 04.01.2006
Ort: Kassel
Beiträge: 789
|
Um das Array für mktime() zu erhalten, bietet sich strptime() an. Da musst du nur das Format angeben, den Eingabe-String übergeben und erhältst eben ein Array mit Jahr, Monat, etc.
Beispiel z.B. von "pwadas at gazeta dot pl" auf php.net/strptime Und, wenn du die Vorteile, Zeiten in MySQL in DATETIME zu halen und in PHP mit dem Timestamp zu handeln, dann kannst du den Timestamp aus einem DATETIME-Feld auch einfach mit der MySQL-Funktion UNIX_TIMESTAMP() auslesen: http://dev.mysql.com/doc/refman/5.0/...functions.html Auch interessant vielleicht der Artikel in der dclp-faq: http://php-faq.de/q/q-datum-mysql.html Basti |
|
|
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [PHP] Zeitformate, Datum und Co | Jann Hendrik | Tutorials | 0 | 05.12.2006 18:48 |
| Eigenes Datum | Maybe | PHP-Programmierung | 8 | 19.02.2006 18:59 |
| Deutsches Datum in englisches Umwandeln | la-finest | PHP-Programmierung | 16 | 03.02.2006 12:15 |
| Datum Anzeigen / Speichern | doria | PHP-Programmierung | 27 | 02.12.2005 12:00 |
| Datum von morgen ermitteln | Lautsprecher | Allgemeine Java-Programmierung | 2 | 08.11.2005 15:34 |