Datum Format YYYY-MM-DD in DD-MM-YYYY umändern klappt nicht.

DerTrojaner

Mitglied
Guten Morgen zusammen,

ich stehe vor ein kleines Problem ich habe eine Datenbank wo auch das Datum eingegeben werden muss und dann auf der Seite ausgegeben werden soll. Nur leider ist die Ausgabe im falschen Format.

Ich habe versucht mit $sql = "SELECT *, date_format(tag, '%d/%m/%Y') AS tag FROM zulauf "; Die Ausgabe so zu modifizieren aber ohne Erfolg.

Kann mir vielleicht einer sagen woran es liegt ?

Danke im vorraus
 
Lösung
Du verstehst mich falsch. In der DB ist es als Datum gespeichert. Was du siehst, ist eine Anzeige des Datums. Das hat nix miteinander zu tun.

Date_format macht aus einem MxSQL-Date einen String. Das brauchst du hier nicht.

Umschreiben! Du hast das Datum ja als Festwert. Dann schreibe es einfach anders in dein SQL.
Sollte es entgegen deinem Code-Beispiel aus PHP kommen, dann habe ich dir den Befehl ja geschrieben.
Was hat [tag] für ein Spaltentyp? DATETIME oder VARCHAR?

Und was heisst "ohne Erfolg"? Fehlermeldung? Fehlverhalten?
 
Hast du das SQL mal in phpMyAdmin oder so laufen lassen?
Je nachdem was du mit dem SQL machst, kann es sein, dass PHP da wieder was draus macht.
 
Bin ich jetzt doof oder was ?
Hast du 2 Spalten mit den gleichen Namen ( Tag ) ? Ich dachte sowas geht nicht ? oder habe ich jetzt was falsch verstanden auf den Bild ?
 
Bin ich jetzt doof oder was ?
Hast du 2 Spalten mit den gleichen Namen ( Tag ) ? Ich dachte sowas geht nicht ? oder habe ich jetzt was falsch verstanden auf den Bild ?

Also das war das Problem, beim updaten hat er eine neue Spalte erzeugt wo das datum halt anders war also DD-MM-YYYY aber jetzt klappt es also das Datum wird so angezeigt wie ich will.

Habe aber leider ein kleines Problem wenn ich dann den Datensatz bearbeiten möchte, macht er es nicht da er nur dort update wo
PHP:
UPDATE zulauf SET Uhrzeit = '07:49', Wert ='32', Lufttemperatur='23', Abwassertemperatur='23', pH_Wert='23', Flotation='23', Zulauf='23' WHERE Tag = '27-09-2019'

Tag '27-09-2019' ist, aber in der Datenbank ist es ja 2019-09-27 was muss ich und wo muss ich was ändern das er es richtig macht.
 
Code:
..WHERE Tag = '27-09-2019'
...aber in der Datenbank ist es ja 2019-09-27
Grundsätzlich ist es egal, wie es in der DB steht, es ist ein Datum.
Grundsätzlich sollte das Datum im US-Format oder im ISO-Format übergeben werden
US: MM/DD/YYYY
ISO: YYYY-MM-DD

Also formatiere dein Datum in der Abfrage um: 2019-09-27

Ich hatte mir mal vor Jahren was kleines zusammengestellt: [PHP] [MySql] Datumskonvertierung [Yaslaw.Info]
PHP:
$mysqldate = date( 'Y-m-d H:i:s', $phpdate );
$phpdate = strtotime( $mysqldate );
 
Zurück