php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.07.2008, 12:35  
Erfahrener Benutzer
 
Registriert seit: 27.04.2008
Beiträge: 104
SilentSight befindet sich auf einem aufstrebenden Ast
Standard Besser: Datum mit PHP oder MySQL?

Ich arbeite schon seit längerem mit PHP und MySQL, aber diesmal will ich eine Anfängerfrage stellen:

Ich speichere meine Daten (ich meine die Mehrheit von Datum ^^) immer mit der PHP-Funktion time() in einem INT(10) Feld einer MySQL-Datenbank ab.
Ich habe aber gerade in einem anderen Thread gelesen, dass es die MySQL-Funktion DATE_FORMAT gibt mit der man TIME, DATE oder TIMEDATE-Felder formatiert auslesen kann.

Jetzt meine Frage: Welche der beiden Möglichkeiten ist besser in Hinsicht auf Performance bzw. auf Übersichtlichkeit.

Ich finde die 2. Variante persönlich besser, aber einfacher ist es mit der time()-Funktion...

Bin gespannt auf eure Meinung
SilentSight ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.07.2008, 12:45  
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

Hallo SilentSight,

was ist denn deiner Meinung nach "leichter" an der INT(10) + time()-Methode?

Ich benutze immer den passenden MySQL-Datumstyp... damit kannst du dann alles machen was dir in den Sinn kommt (mit den MySQL-Datums-Funktionen)...
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 19.07.2008, 13:10  
Erfahrener Benutzer
 
Registriert seit: 27.04.2008
Beiträge: 104
SilentSight befindet sich auf einem aufstrebenden Ast
Standard

Naja, beim einfügen in die Tabelle muss ich bei der time()-Methode nur time() einfügen

PHP-Code:
mysql_query('INSERT INTO gb (date) VALUES ("'.time().'")'); 
Danach kann ich es wieder mit der date()-Funktion richtig auslesen.

Mit dem DATETIME-Typ habe ich es bis jetzt immer so gemacht:

PHP-Code:
mysql_query('INSERT INTO gb (date) VALUES ("'.$year.'-'.$month.'-'.$day.' '.$hour.':'.$minute.':'.$second.'")'); 
Ich weiß nur die genau Reichenfolge nich mehr...
Wenn du mir sagen kannst, wie das einfacher geht wäre ich dir sehr dankbar.

Was ist in Hinsicht auf Performance besser?
SilentSight ist offline  
Alt 19.07.2008, 13:25  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.849
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Wenn du das Feld mit date oder mit datetime definiert hast, dann machst du beim INSERT INTO einfach:
... VALUES ('$feld1',now(),'$feld3');
Wolla ist offline  
Alt 19.07.2008, 16:23  
Erfahrener Benutzer
 
Registriert seit: 27.04.2008
Beiträge: 104
SilentSight befindet sich auf einem aufstrebenden Ast
Standard

Also kann ich einfach in der Spalte, die den Typ DATETIME hat die Funktion NOW() zum füllen hernehmen?

Was ist, wenn ich beispielsweise ein Geburtsdatum darin speichern möchte?
SilentSight ist offline  
Alt 19.07.2008, 17:14  
Neuer Benutzer
 
Registriert seit: 05.05.2008
Beiträge: 19
PHP4ever befindet sich auf einem aufstrebenden Ast
Standard

Soweit ich weiß wird bei der Vereinbarung deiner Spalte mit dem Typ DATETIME, immer die momentane Zeit beim erstellen des jeweiligen Eintrages gespeichert oder liege ich da falsch?
__________________
"Je größer die Insel des Wissens, desto länger die Küste der Verzweiflung!"
PHP4ever ist offline  
Alt 19.07.2008, 18:43  
Erfahrener Benutzer
 
Registriert seit: 27.04.2008
Beiträge: 104
SilentSight befindet sich auf einem aufstrebenden Ast
Standard

Kann ich leider grad nich ausprobieren...
Aber selbst, wenn nicht, solange es mit NOW() geht bin ich auch zufrieden.

Aber wie kann ich ein anderes Datum leicht speichern?
SilentSight ist offline  
Alt 19.07.2008, 19:24  
dom
Gast
 
Beiträge: n/a
Standard

ein anderes datum oder einen geburtstag? das ist ganz einfach eine normale text information wie der name oder die schuhgröße. timestamp ist eine funktion zur beschreibung solcher informationen.

fürgwöhnlich nimmt man ja den typ timestamp des feldes date und dem attribut ON UPDATE CURRENT_TIMESTAMP für mysql


PHP-Code:
SELECT DATE_FORMATdate'%d/%m/%Y' ) AS date,content,title,ID FROM cms_article WHERE page 1 ORDER BY `dateDESC LIMIT 0,5"; 
dein feld date kannst du dann formatieren wie du magst.
 
Alt 19.07.2008, 19:25  
dom
Gast
 
Beiträge: n/a
Standard

ein anderes datum oder einen geburtstag? das ist ganz einfach eine normale text information wie der name oder die schuhgröße. timestamp ist eine funktion zur beschreibung solcher informationen.

fürgwöhnlich nimmt man ja den typ timestamp des feldes date und dem attribut ON UPDATE CURRENT_TIMESTAMP für mysql


PHP-Code:
SELECT DATE_FORMATdate'%d/%m/%Y' ) AS date,content,title,ID FROM cms_article WHERE page 1 ORDER BY `dateDESC LIMIT 0,5"; 
dein feld date kannst du dann formatieren wie du magst.


nehmen wir gleich den rest zur ausgabe auch noch

PHP-Code:
$sql "SELECT DATE_FORMAT( date, '%d/%m/%Y' ) AS date,content,title,ID FROM cms_article WHERE page = 1 ORDER BY `date` DESC LIMIT 0,5";
    
$result mysql_query($sql) OR die(mysql_error());
    if(
mysql_num_rows($result)) {
        while(
$row mysql_fetch_assoc($result)) {
        
echo 
"<li><a href=\"?page=read&id=".$row['ID']."\" title=\"".$row['date']."\" class=\"internal\">".$row['title']."</a></li>";





was hab ich getan? alles doppelt?
 
Alt 19.07.2008, 19:45  
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

Zitat:
Zitat von PHP4ever Beitrag anzeigen
Soweit ich weiß wird bei der Vereinbarung deiner Spalte mit dem Typ DATETIME, immer die momentane Zeit beim erstellen des jeweiligen Eintrages gespeichert oder liege ich da falsch?
Da liegst du falsch

Zitat:
Zitat von SilentSight Beitrag anzeigen
Kann ich leider grad nich ausprobieren...
Aber selbst, wenn nicht, solange es mit NOW() geht bin ich auch zufrieden.

Aber wie kann ich ein anderes Datum leicht speichern?
Ich weiß nicht was an:
Code:
INSERT INTO birthdays (birthday) VALUES ("1950-10-10");
nicht leicht ist?

__________________
Today you...Tomorrow me.
agrajag 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
Datum bei MySQL in anderes Format Eldra PHP Tipps 2008 2 20.07.2008 12:33
[Erledigt] Datum Ausgabe Mysql krackmoe PHP Tipps 2008 9 10.07.2008 20:33
[Erledigt] Datumsübernahme von PHP in MySQL groovemachine PHP Tipps 2008 1 07.07.2008 10:06
Mysql Server Einstellunen Optimieren pchero Datenbanken 3 01.05.2007 19:50
Datum hinzufügen: PHP oder MySQL Funktion Lloyd Larkin PHP Tipps 2006 5 10.12.2006 15:30
näherstes datum zum aktuellen datum herausfinden flflfl Datenbanken 7 01.05.2006 16:57
[Erledigt] Schnittstelle zwischen PHP und MySQL klappt net !!! Datenbanken 16 16.10.2005 14:24
[Erledigt] not allowed to connect to this MySQL server PHP Tipps 2005-2 2 23.09.2005 18:34
datum in mysql datenbank! Datenbanken 7 09.07.2005 14:43
MYSQL läuft nur wenn /tmp auf 777 Datenbanken 5 06.07.2005 08:38
Datum in mysql per Timestamp updaten PHP Tipps 2005-2 4 03.07.2005 13:18
Datum an MySQL übergeben bendigo PHP Tipps 2005-2 5 30.06.2005 18:44
PHP mysql Datum PHP Tipps 2004-2 2 22.11.2004 17:44
[Erledigt] Access denied for user: '@localhost' / SYSTEM@localhost Datenbanken 0 10.11.2004 20:35
PHP5 &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; MySQL Datenbanken 5 01.08.2004 05:47

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-tipps-2008/2151-besser-datum-mit-php-oder-mysql.html, mysql per php date feld füllen, mysql datumstyp, mysql date füllen, besser date, mysql date feld füllen, mysql datetime befüllen, mysql datetime füllen, mysql was besser or oder in, geburtstag php mysql falsche ausgabe, msql date füllen, email mit mysql datum füllen, mysql date füllen wenn update, funktionen besser php oder mysql, datetime feld füllen mysql php, mysql datumsfeld automatisch füllen ?, datum sql php function timestamp performance, mysql date_format größer, php oder besser mysql, <?php ?> oder <? ?>

Alle Zeitangaben in WEZ +1. Es ist jetzt 09:13 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