MySQL/ PHP Archivfunktion anhand Typ "datum" erstellen
Antje Bijken
- datenbank
Hallo,
Für meine PHP/MySQL Website möchte ich ein monatsbasiertes Archiv einführen, so wie es z.B. Blogger Weblogs machen. Nun haben alle relevanten Einträge ein Feld "datum", Typ "datum" im Format "2003-12-27".
Ich bekomme aber keine gescheite Anfrage hin, die mir als Ergebnis alle existierenden Monate liefert in Bezug zum Jahr.
Idealerweise habe ich dann eine Liste:
[..]
02-2003
01-2003
12-2002
11-2002
10-2002
[..]
Und dann brauche ich wieder die Möglichkeit, diese Monate auszusuchen (z.B. über Dropdown Menü in HTML) und anzuzeigen. Meine SQL Kenntnisse sind doch noch arg rudimentär.
Ich hoffe das war verständlich genug.
Ich danke Euch allen schonmal für jede Bemühung, mir zu helfen.
Gruss und Kuss,
Antje
Hallo,
Hi Antje!
Ich würd als erstes mal alle daten auslesen und des datums nach ordnen:
SELECT [tabellenname].[feldname1]
FROM [tabellenname]
ORDER BY [tabellenname].[feldname2]
(feldname1 ist die benötigte information, feldname2 ist das datum)
dann hast du alle daten die in deinem table stehen.
weiter kann ich dir leider auch nicht helfen...
Für meine PHP/MySQL Website möchte ich ein monatsbasiertes Archiv einführen, so wie es z.B. Blogger Weblogs machen. Nun haben alle relevanten Einträge ein Feld "datum", Typ "datum" im Format "2003-12-27".
Ich bekomme aber keine gescheite Anfrage hin, die mir als Ergebnis alle existierenden Monate liefert in Bezug zum Jahr.
Idealerweise habe ich dann eine Liste:
[..]
02-2003
01-2003
12-2002
11-2002
10-2002
[..]Und dann brauche ich wieder die Möglichkeit, diese Monate auszusuchen (z.B. über Dropdown Menü in HTML) und anzuzeigen. Meine SQL Kenntnisse sind doch noch arg rudimentär.
Ich hoffe das war verständlich genug.
Ich danke Euch allen schonmal für jede Bemühung, mir zu helfen.Gruss und Kuss,
Antje
Hallo Antje,
Ich bekomme aber keine gescheite Anfrage hin, die mir als Ergebnis alle existierenden Monate liefert in Bezug zum Jahr.
was hast du den bisher versucht?
Idealerweise habe ich dann eine Liste:
02-2003
01-2003
[...]
ich würde die Jahreszahl vorne hinschreiben - dann lässt sich das ganze leichter sortieren. Versuchs mal damit (ob das schön ist, ist natürlich eine andere Frage - aber wenn nicht wird mich schon jemand korrigieren :-)):
SELECT DISTINCT DATE_FORMAT(datumsspalte,"%Y-%m") as jahrmonat
FROM tabelle
ORDER BY jahrmonat DESC
siehe auch
http://www.mysql.de/doc/de/Date_and_time_functions.html (Funktion DATE_FORMAT())
und
http://www.mysql.de/doc/de/Selecting_columns.html (DISTINCT)
Und dann brauche ich wieder die Möglichkeit, diese Monate auszusuchen (z.B. über Dropdown Menü in HTML) und anzuzeigen.
mach dir halt ein Dropdown das als value Monat und Jahr übergibt was dann wieder bei WHERE eingebaut wird wenn du die Beiträge abfragst.
Meine SQL Kenntnisse sind doch noch arg rudimentär.
meine würde ich auch nicht als bessonders gut bezeichnen :-)
Grüße aus Nürnberg
Tobias