Mailinglisten-Archive |
On Mon, 02 Jul 2001 23:06:36 +0200, Ithamar Garbe <garbe_(at)_gmx.de> wrote: Hallo, jetzt meldet sich auch mal ein lurker ;) >ich m=F6chte in einer MySQL-Datenbank Termine f=FCr einen Eventkalender >abspeichern. Die Termine sollen aus Datum und Uhrzeit bestehen und >durchsuchbar sein. Ein Event wird abgespeichert mit z.B. 01.08.2001 >18:30:00 (als Beginn) und 01.08.2001 20:00:00 (als Ende). >Ich bin jetzt am =FCberlegen, ob ich das Format DATETIME von MySQL = nehmen >soll, oder ob ich die PHP-Timestamps erzeugen und als INT einf=FCgen = soll. >Was ist eurer Ansicht nach sinnvoller? Keine ahnung, was du mit "PHP-timestamps" meinst. Mit "INT einf=FCgen" meinst du vermutlich den unix-timestamp, der allerdings "pur" nicht lesbar ist. Es gibt in MySQL den datentyp "timestamp", der den zweck hat, bei jedem insert/update/replace automatisch den zeitpunkt im format "YYYYMMDDhhmmss" dieser aktion zu erfassen. Das funktioniert allerdings nur fuer *ein* feld des typs timestamp in der tabelle. Weitere, evtl. in dieser tabelle vorhandene timestamp-felder bleiben leer. >Einerseits ist es vielleicht gescheiter, wenn ich alle Events, die an >einem bestimmten Datum laufen, per SQL-internen Funktionen auflisten >lasse, auch wenn das mit der Timestamp-Funktion von PHP gut >funktioniert, andererseits kann ich mit date() gleich den Wochentag des >Events auslesen, muss nicht den Datumsstring zerpfl=FCcken und kann >Zeitdifferenzen bequem ermitteln. Das kannst du mysql-seitig sowohl mit dem timestamp- als auch mit dem datetime-format loesen. >Von diesem Standpunkt aus gesehen ist also der PHP-Timestamp die beste >L=F6sung, oder? Oder spricht etwas dagegen und f=FCr DATETIME? Der datentyp datetime speichert im ISO format "YYYY-MM-DD hh:mm:ss", daher wird es dir nichts nuetzen, wenn du diesen datentyp verwendest, als ausgabe jedoch das deutsche datenformat haben willst. btw: das ISO format YYYY-MM-DD ist seit ca. 3 jahren teil der=20 DIN-5001 (oder wars 5003?), die das layout von geschaeftsbriefen beschreibt.=20 >Ich m=F6chte gerne alle Events nach dem Datum ordnen lassen, die Dauer >eines Events ermitteln, Events f=FCr einen bestimmten Tag heraussuchen = und >diverse andere Dinge... was f=FCr ein Format ist also sinnvoll? Meine empfehlung: Datentyp datetime in MySQL fuer alle event-daten (start/ende/eintragsdatum) und ein feld "last_edit" mit datentyp "timestamp" verwenden. Vom speichern des unix-timestamp wuerde ich abraten, da du keinen vorteil davon hast und dieses format von menschen nicht lesbar ist (vielleicht gibt es ausnahmen - aber die koennen auch die 7. potenz einer 53stelligen zahl im kopf ausrechnen). Und als admin muss man ab+zu auch mal direkt mit der datenbank arbeiten - da ist es dann hilfreich, lesbare formate zu haben. ciao, andreas kempf aka 'amalesh' ps: hier eine im weiteren sinne passende sig zum thema: --=20 <http://www.goatrance.de/goabase/> * international goatrance parties 5 years online * monthly 250 parties * 500 meetings * 40.000 users=20 partyreports * newsletter * no banner * ahead of your connection! ;) contact: andreas kempf aka 'amalesh' * <webmaster_(at)_goatrance.de>
php::bar PHP Wiki - Listenarchive