Nach Datum sortieren

Michi-K

Grünschnabel
Hallo!

Ich möchte mir mit PHP einen kleinen Kalender basteln wobei ich nur das entsprechende Datum und das Event in eine Datenbank schreibe.
Dann tat sich aber folgendes Problem für mich auf: Ich muss die einzelnen Events nach ihrem Datum sortieren und ich hab leider überhaupt keinen Schimmer wie ich das machen soll!
Ich hab schon mehrmals bei Google gesucht aber dort hab ich auch nur herausgefunden, dass man irgendwas mit Timestamps machen muss (bin mir da aber leider net sicher!).

Ich bitte um schnelle Hilfe

Danke

Michi-K :)
 
Mach doch einfach in deinen Sqlquery die Klausel :
PHP:
Select `Eventspalte` FROM `tabelle` ORDER BY `datumspalte` DESC
So sollten die Daten absteigend ausgegebn werden.
Das ist aber eigentlich im DB forum besser aufgehobem.
 
Hi,

ohh sorry ich habe ganz vergessen zu erwähnen, dass ich als datumsformat

date("d.m.Y");

verwende. Wenn ich es dann ASC oder DESC geordnet aus der Datenbank hole, tritt z.B. folgende Reihenfolge auf:

01.01.2004
15.11.2004
19.02.2004
20.09.2004
22.07.2004
31.12.2004

Also egal ob man es jetzt von ASC oder DESC aus sieht es ist auf jeden fall falsch geordnet!

Danke

Michi-K


PS: Danke für die so schnelle antwort damit hatte ich nicht gerechnet :)
 
Hi Michi

Eins vorweg: Es lohnt sich auf jeden Fall, mit Timestamps zu arbeiten. Sie sind einfach, gut zu verwalten und damit lässt sich jede Menge interessantes Zeug anstellen. ;)

Ein Timestamp ist eine Zahl. Diese Zahl definiert die Anzahl Sekunden, die seit dem 1.1.1970 00:00 Uhr verstrichen sind. Logischerweise gilt also: Grössere Zahlen = späteres Datum. Wenn du jetzt also alle deine Daten in der DB als Timestamp speicherst, kannst du sie auch bequem per ORDER BY timestamp ASC/DESC ausgeben lassen, und die Daten werden schön der Reihe nach ausgegeben. :)

PS: Sieh dir mal die Funktionen [phpf]time[/phpf] und [phpf]date[/phpf] etwas genauer an. ;)
 
Nabend,
ich bevorzuge die MySQL-Spaltentypen DATE/DATETIME, da ich bei dieser Variante, falls ich etwas in der Tabelle prüfen möchte, nicht "irgendwelche großen Zahlen" habe, sondern schön formatierte Daten, welche sich auch per "ORDER BY ... ASC/DESC" sortieren lassen.

Gruß
Marvin

P.S.: SilentWarrior: Wie fügst du die php.net-Links ein, dass die so hellblau sind? Gibt's da 'nen Tag, den ich nicht sehe? :-)
 
Marvin: Ja, den gibt's. Er lautet [ phpf ]. Leider ist er durch keinen Button erreichbar und auch sonst nirgends verzeichnet, ich hab ihn nur entdeckt, weil ihn einige andere User hier gelegentlich verwenden.

Wenn du schreibst, dass man DATE/DATETIME auch bequem per ASC/DESC sortieren kann, dann frage ich mich, welchen Typ Michis Spalte hat, dass es bei ihm nicht funktioniert hat. :confused:
 
Guten Morgen.
Erstmal danke für den Tipp ;)
Nu zum Thema:
Wäre DATE verwendet worden, dann wären die Daten im Format YYYY-MM-DD, da sie das, bei den Beispielen, die Michi angegeben hat, nicht sind, tippe ich mal, dass VARCHAR verwendet wird/worden ist.

Verschlafener Gruß
Marvin
 
Zurück