SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 16.02.2005, 00:21:10
Claus Claus ist offline
Anfänger
 
Registriert seit: Jul 2004
Ort: Kiel
Beiträge: 11
CMS-System mit Datum

Hallo,

ich habe ein existierendes, selbstgeschriebenes CMS, in dem ich das Datum der Einträge bisher nur primitiv in einem String gespeichert habe (Format: dd.mm.yyyy hh:mm).

Nun möchte ich dieses System erweitern, so dass ich Beiträge auch nach dem Datum sortieren kann, nach verschiedenen Richtlinien, zum Beispiel nur Jahr oder Jahr/Monat oder auch Jahr/Monat/Tag. Wie mache ich so etwas möglichst geschickt?

Ich weiß, dass es einen Datentyp DATE in MySQL gibt. Aber dazu gibt es zwei Fragen:

1. Wie füge ich ein Datum per INSERT ein, in PHP?
2. Kann ich damit die gewünschten Nachfragen (siehe oben) ausführen, im Stil "WHERE YEAR(`DATUM`)=`2004` AND MONTH(`DATUM`)=`12`" ? Wenn ja, wie?

Oder würdet ihr mir für mein Vorhaben eine andere Methode (z.B. manuelle Sortierung) vorschlagen? Sollte ich vielleicht einfach mehrere Integerwerte für "YEAR", "MONTH" etc. nehmen?

Vielen Dank für jegliche Hilfe.
Gruß,
Claus
Mit Zitat antworten
  #2  
Alt 16.02.2005, 00:30:26
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: CMS-System mit Datum

[QUOTE=Claus]Ich weiß, dass es einen Datentyp DATE in MySQL gibt.[/url]
Wenn man von deinem bisherigen Format ausgeht, wären DATETIME oder Timestamp eigentlich sinnvoller, da du dort auch die Uhrzeit und nicht nur das Datum speichern kannst.

Zitat:
Zitat von Claus
1. Wie füge ich ein Datum per INSERT ein, in PHP?
Entweder du übergibst einen String im richtigen Format oder verwendest die MySQL-Funktion NOW(), um das aktuelle Datum zu verwenden.

Zitat:
Zitat von Claus
2. Kann ich damit die gewünschten Nachfragen (siehe oben) ausführen, im Stil "WHERE YEAR(`DATUM`)=`2004` AND MONTH(`DATUM`)=`12`" ? Wenn ja, wie?
wenn du beispielsweise nur die Daten aus dem Jahr 2004 haben möchtest, würdest du folgende Abfrage nehmen:
Code:
SELECT foo FROM bar WHERE YEAR(datecolumn) = '2004'
Mit Zitat antworten
  #3  
Alt 16.02.2005, 00:31:07
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: CMS-System mit Datum

ich würde vorschlagen, das du das format "dd.mm.yyyy hh:mm" in einen timestamp umwandelst (welcher dann aber etwas ungenau ist, weil die übrigen sekunden fehlen) und damit dann arbeitest, ist meiner meinung nach wohl etwas einfacher...
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #4  
Alt 16.02.2005, 01:30:41
Claus Claus ist offline
Anfänger
 
Registriert seit: Jul 2004
Ort: Kiel
Beiträge: 11
AW: CMS-System mit Datum

Hallo,

danke erstmal für die Vorschläge.
Ich habe jetzt erst einmal eine Testdatenbank erstellt, mit ID und DATUM.
Wenn ich jetzt NOW hinzufüge, wird jedoch nur YYYY-MM-DD hinzugefügt.

Code:
INSERT INTO `cms_test` ( `ID` , `DATUM` )
VALUES (
'', NOW( )
);
;

Die Ausgabe sieht so aus:
http://cvdb.de/avb/mysql/

Kann ich da noch etwas verändern, oder muss ich da einen anderen Datentyp nehmen?

Danke,
Claus
Mit Zitat antworten
  #5  
Alt 16.02.2005, 01:36:43
Claus Claus ist offline
Anfänger
 
Registriert seit: Jul 2004
Ort: Kiel
Beiträge: 11
Sorry

Hallo,

ich habe mich vorhin nur im Manual (http://dev.mysql.com/doc/mysql/en/datetime.html) verlesen.

Für mich brauche ich Datetype, das dann '0000-00-00 00:00:00' speichert.

Ich denke, das wars. Vielen Dank für die Hilfe.

Gruß,
Claus
Mit Zitat antworten
  #6  
Alt 16.02.2005, 09:04:02
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Sorry

nimm bitte codings vorschlag an und speichere als timestamp. alles andere macht früher oder später nur ärger!
Mit Zitat antworten
  #7  
Alt 16.02.2005, 09:11:37
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Darf ich mal Klugscheißer spielen? "CMS-System" ist genau so ein Blödsinn, wie "LCD-Display", "RAM-Speicher", "HDD-Drive", usw. ;)
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #8  
Alt 16.02.2005, 11:17:33
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Sorry

Zitat:
Zitat von feuervogel
nimm bitte codings vorschlag an und speichere als timestamp. alles andere macht früher oder später nur ärger!
Was spricht deiner Meinung nach eher für TIMESTAMP statt DATETIME?
Mit Zitat antworten
  #9  
Alt 16.02.2005, 11:48:51
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: CMS-System mit Datum

also meinener meinung nach kann man nen timestamp ohne großen aufwand in alle richtungen formatieren, was mit solchen datums-"strings" doch nur umständlicher wird. ich denke da auch speziell an künftige änderungen an seinem cms. der timestamp ist für mich die ideale basis für datums/zeit formatierungen. direkt ein datum zuspeichern mache ich nur in ausnahmefällen, beispielsweise bei nem gästebuch, da wäre die umwandlung wirklich nicht nötig. bei nem cms jedoch, ist der timestamp das idealste, weil auch nimand weis was es künftig für änderungen am cms geben kann.

das ich da nicht so falsch liege mit meiner meinung beweist uns auch promt wieder das forum. in keiner der 84 tabellen wird man eine andere formatierung als das timestamp-format finden.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #10  
Alt 16.02.2005, 11:58:20
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: CMS-System mit Datum

in meinen augen ist ein datum gespeichert als timestamp einfach das "reinste" format. mit ihm lässt sich in meinen augen am simpelsten rechnen und andererseits - wie schon erwähnt - jedes beliebige andere format darstellen. wenn man ein mal ein format vorgegeben hat ist es immer etwas mühselig.

p.s.: wie oft gabs hier schon die frage nach einer möglichkeit, die xxx der letzten 3 tage aus einer db auszulesen? wenn ich ein datum als timestamp habe, ziehe ich einfach von dem jetzigen 60*60*24*3 ab und muss mich nicht mit irgendwelchen datums-funktionen zurecht finden.

Geändert von feuervogel (16.02.2005 um 11:59:45 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
DATUM start DATUM ende AND Termine inthemiddle daniel son PHP Grundlagen 21 21.07.2004 14:03:49
Datum vergleichen ub | thedev MySQLi/PDO/(MySQL) 1 21.06.2004 07:55:49
datum formatieren schnalbi PHP Grundlagen 4 08.04.2004 12:36:19
Datum Format bweichel PHP für Fortgeschrittene und Experten 4 02.04.2004 18:00:21
Datum in Ganzzahl Fichte PHP für Fortgeschrittene und Experten 1 02.01.2004 13:07:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:38:37 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt