php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 10.12.2006, 13:17  
Benutzer
 
Registriert seit: 22.05.2006
Beiträge: 32
Lloyd Larkin
Standard Datum hinzufügen: PHP oder MySQL Funktion

Hallo zusammen

Ich stehe gerade vor dem Problem einer (MySQL-)Tabellenzelle ein Datum in der Form von 09.12.2006, Samstag hinzuzufügen.

Nun frage ich mich ob ich das Datum per PHP oder MySQL hinzufügen sollte. Und wenn mit MySQL denke ich die DATE_FORMAT() wäre passend. Müsste ich dann der Tabellenzelle statt DATETIME DATE_FORMAT(%d.%c.%Y, %a) geben, zusammen mit den gewünschten Formatierungsparametern? Und als Funktion zum hinzufügen dennoch NOW()?

Die Zelle hatte bisher den Typen DATETIME und die verwendete MySQL Funktion war NOW().

Habe mir die MySQL Date and Time Functions angesehen. Da ich aber noch nie damit gearbeitet habe, komme ich bei der Anzahl der Funktionen nicht wirklich weiter

Grüsse,
Lloyd
__________________
The only thing to do with good advice is pass it on. It is never any use to oneself.
- Oscar Wilde -
Lloyd Larkin ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.12.2006, 13:39  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

grundsätzlich ist es sinnvoll, in der tabelle eine normalform wie z.b. einen timestamp zu speichern und daraus später den gewünschten string zu generieren.
nikosch ist offline  
Alt 10.12.2006, 13:42  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo,
du solltest keine redundanten Daten in die Datenbank einfügen, das könnte zu Inkonsistenz führen.
Will sagen, PHP und MySQL wissen beide von sich aus, dass der 09.12.2006 ein Samstag war. Es reicht also, das Datum ohne Wochentags-Angabe zu speichern.

Speicher Daten (Datums) immer im hauseigenen Format, also bei MySQL mit DATE ab.
Den Tag und das Format der Darstellung kannst du jederzeit durch MySQL oder PHP bestimmen und ausgeben.

In einer Datenbank sollten ja so wenig wie möglich Formatierungen gespeichert sein, um die Daten danach vielseitig einsetzen zu können. Wenn du dich für die deutsche (oder Liechtensteiner) Datums-Formatierung entscheidest, entfallen die Sortierungs- und Berechnungsmöglichkeiten, die MySQL und PHP für das englische Format bereits implementiert haben.
Zergling-new ist offline  
Alt 10.12.2006, 14:57  
Benutzer
 
Registriert seit: 22.05.2006
Beiträge: 32
Lloyd Larkin
Standard

Achso, klar! Danke für den Hinweis

Habe jetzt für die Zelle Datum den Type DATE genommen, der ich über NOW() das Datum in der Form von 0000-00-00 übergebe. Das funktioniert auch soweit.

Nur wenn ich das Datum durch die MySQL Funktion DATE_FORMAT ausgeben möchte, bekomme ich eine Fehlermeldung.
PHP-Code:
    $sql "SELECT DATE_FORMAT('Datum', '%d.%c.%Y, %a') FROM test";
    
$result mysql_query($sql);
    while(
$row mysql_fetch_object($result)) {
        echo 
"$row->Datum
"
;
    } 
Fehlermeldung:
Code:
Notice: Undefined property: stdClass::$Datum in C:\Programme\xampp\htdocs\projekte\myaccountant\backup\test.php on line 22
Wobei Zeile 22 die Zeile mit echo "$row->Datum ist.
__________________
The only thing to do with good advice is pass it on. It is never any use to oneself.
- Oscar Wilde -
Lloyd Larkin ist offline  
Alt 10.12.2006, 15:02  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Du solltest dem ganzen jetzt noch einen Alias geben, dann kannst du einfacher auf die Ergebnisse zugreifen. (das ganze ist jetzt nicht mehr unter $row->Datum zu finden).
SELECT DATE_FORMAT(spalte, "...") AS datumF FROM ...

ist dann ansprechbar über $row->datumF
Und:
Steht in deinem Query wirklich DATE_FORMAT('Datum', ....) oder sollte das nur ein Beispiel sein - denn die Anführungszeichen gehören da nicht hin wenn deine Spatle "Datum" heißt.
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 10.12.2006, 15:30  
Benutzer
 
Registriert seit: 22.05.2006
Beiträge: 32
Lloyd Larkin
Standard

Vielen Dank für die Hilfen, funktioniert nun alles wunderbar! Aber ich sehe schon, mir fehlt grundlegendes. Leider geht PHP5 Grundlagen und Profiwissen nur ungenau auf die verschiedenen MySQL Funktionen ein.

Kann mir vielleicht jemand ein umfangreiches Tutorial oder auch Buch zu PHP/MySQL empfehlen?

Regards,
Lloyd
__________________
The only thing to do with good advice is pass it on. It is never any use to oneself.
- Oscar Wilde -
Lloyd Larkin ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Passwort vergessen funktion -- php und mysql coraplanet PHP Tipps 2008 15 22.04.2008 15:34
[Erledigt] VARCHAR datum -> mysql Timestamp ? Datenbanken 2 20.02.2006 22:04
Datum in eine mysql db PHP Tipps 2006 6 07.02.2006 13:11
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Daten aus MYSQL nach Datum filtern Datenbanken 3 19.09.2005 16:09
Schwierigkeiten beim Datum speichern in Mysql pherfinion PHP Tipps 2005-2 1 31.08.2005 16:55
[Erledigt] Mysql + PHP und Datum Problem Datenbanken 11 31.08.2005 12:08
Spalte einer MySQL - das höchste Datum herausfinden tekknotrip Datenbanken 5 23.08.2005 20:17
datum() Funktion aufgestellt PHP Tipps 2005-2 2 07.07.2005 15:47
nächstes Datum - wenn möglich ohne MySQL PHP Tipps 2005 2 02.04.2005 10:39
Warum Funktioniert diese Funktion nich (mySQL) PHP Tipps 2005 10 04.03.2005 16:36
[Erledigt] zellen abfrage mit php an mysql PHP Tipps 2005 2 02.03.2005 15:37
between datum abfragen mysql hekto Datenbanken 2 12.01.2005 11:07
mysql - datum - problem Datenbanken 1 22.09.2004 11:47
String zu mysql - konformem Datum konvertieren Stümper PHP Tipps 2004 9 18.09.2004 11:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php mysql datum, mysql datum hinzufügen, datum mysql php, datum php mysql, mysql php datum, php datum mysql, http://www.php.de/php-tipps-2006/43024-datum-hinzufuegen-php-oder-mysql-funktion.html, undefined property: stdclass::$datum, php datum in mysql, mysql undefined property: stdclass::, notice: undefined property: stdclass::$datum, mysqlfunktion date_format(), mysql date php, php function date mysql, undefined property: stdclass::$date_format, php datum hinzufügen, datum php in mysql, php datum tage hinzufügen, php datum tage hinzu, mysql datum in php

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:04 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.