megacarsit
Goto Top

Date MySQL-Datentyp - Wie in DB reinschreiben und auslesen?

Hallo Leute!!

Bin etwas an PHP dran.. hab 5 Werte in eine Tabelle..

In einem soll ein Datum ( TUPEL: Zulassung) eingegeben/ausgelesen werden, am besten im Format
(dd.mm.yyyy) angezeigt werden..

Wie muss ich mein SQL-Statement schreiben um auch 'Zulassung' darstellen zu können?
Was muss ich beim INSERT berücksichtigen?


Möchte mich gern vom Datentyp VARCHAR lösen, mit VARCHAR haben wir es in der Schule gelernt haben...
ist ja doch der totale pfusch ein Datum in VARCHAR abzulegen!?


Hoffe Ihr habt Tipps für mich!


Schonmal Danke!!


Gruss,
megacars

Content-ID: 92230

Url: https://administrator.de/contentid/92230

Ausgedruckt am: 22.11.2024 um 08:11 Uhr

triumvirat
triumvirat 17.07.2008 um 05:53:58 Uhr
Goto Top
Das verstehe ich nicht...

Ein Datum in der Datenbank als VARCHAR abzulegen, macht Dir doch voll die Schwierigkeiten bei sortieren nach solchem. Ausserdem enfallen dann sofort die geilen Funktionen wie: "SELECT zulassungsdatum FROM tabelle1 WHERE date BEFORE 2007-01-01".

Ich würde ein Date Typ nehmen und mit

INSERT INTO tabelle SET zulassungsdatum='YYYY-MM-DD';

Rausholen tust Du es dann mit

SELECT DATE_FORMAT(zulassungsdatum,'%d.%m.%Y') AS zulassungsdatum FROM tabelle;

Oder ich hab Dich falsch verstanden.
cu
Ekki
megacarsIT
megacarsIT 17.07.2008 um 15:09:58 Uhr
Goto Top
Cool Danke!! Genau darauf zielte meine Frage ab.

Das war wirklich sehr hilfreich!

Hab da noch 2 weitere Fragen:

Leider bekomme ich es nur im Format (YYYY.MM.DD) ausgegeben und in phpmyadmin eingetragen?! Gibts da eine Möglichkeit es (DD.MM.YYYY) hinzubiegen? Anderer Date-Datentyp?

Wie muss der Nutzer es eingeben damit es richtig in die Datenbank eingetragen wird?
Brauche ich für Tag, Monat und Jahr jeweils ein eigenes Feld?
Bin überfragt.

Gruss,
megacars
Wampe
Wampe 17.07.2008 um 15:43:49 Uhr
Goto Top
Hi

sorry war hier grad beim total falschen thema (daher jetzt dieser Edit meines Beitrags)

Sorry Sorry Sorry
triumvirat
triumvirat 17.07.2008 um 15:52:40 Uhr
Goto Top
Hmm,

also das Speicherformat in der Datenbank hat nu rein garnix mit der Ausgabe der Daten zu tun.

Um die Ausgabe schön zu haben, hast Du nur die Möglichkeit mir der Funktion hier oben es PHP machen zu lassen, oder mit dem DATE_FORMAT() - Befehl die Datenbank die formatierte Ausgabe machen zu lassen. Beim Insert kannst du ja mit explode() die Zeichenkette am Punkt teilen und dir das Insert-Statement bauen.

Ich empfehle Dir aus den PEAR Bibliotheken das Paket HTMLQuickform, da gibt es fertige Date Comboboxen, die Du dann auch direkt als Array übergeben bekommst, mit dynamischem vorbefüllen der Boxen. Sehr komfortabel.

In phpmyadmin kannst Du es glaube ich eh nur im Format YYYY-MM-DD angeben.
cu
Ekki
Spackenbremse
Spackenbremse 18.07.2008 um 21:00:45 Uhr
Goto Top
Da du jetzt die daten im Format YYYY-MM-DD auslesen kannst, verrat ich dir, wie du diese Daten in DD.MM.YYYY umwandeln kannst:


(angenommen ausgelesen wird das Datum in der Variablen $row['zulassung'])
list($year,$month,$day) = explode("-", $row['zulassung']);  
$date_neu = $day.".".$month.".".$year  

Damit erhältst du DD.MM.YYYY

mfg