Datenbankeinträge beim auslesen sortieren

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
exweised
Mitglied
Beiträge: 123
Registriert: 22.05.2004 17:28

Datenbankeinträge beim auslesen sortieren

Beitrag von exweised »

Hallo,

ich habe in einer Datenbanktabelle Inhalt stehen, den ich ausgeben möchte. Das ansich ist ja nicht das Problem. Ich möchte vor der Ausgabe die Tabelle sortieren, und zwar nach Datum. Dieses steht in Form von TT.MM.JJJJ bei jedem Eintrag.

Jetzt habe ich mit der Funktion sort() schon ein wenig rumprobiert. Leider funktioniert das nicht. Eine Fehlermeldung kommt nicht. Es wird mir trotzdem unsortiert ausgegeben.

Könnt ihr mir vielleicht einen Tipp geben, worauf ich achten muss?
xabbuh
Mitglied
Beiträge: 20
Registriert: 30.08.2004 19:38

Beitrag von xabbuh »

MySQL in Verbindung mit php?

Dann nimm als Feldtyp in der Datenbank DATE. Die Einträge sollten dann im Format JJJJ-MM-TT abgespeichert werden. Anschließend kannst du dann die Abfrage so machen:

Code: Alles auswählen

$sql = "SELECT
                DATE_FORMAT(datum, '%d.%m.%Y') AS datum_formatiert
            FROM
                table
            ORDER BY
                datum";
StarShop
Mitglied
Beiträge: 6
Registriert: 30.08.2004 22:27
Kontaktdaten:

Beitrag von StarShop »

Hallo,

je nachdem wie herum du die Daten sortiert haben möchtest, kannst du noch die Schlüsselwörter ASC (aufsteigend = Standard) bzw DESC (absteigend) anhängen, also ORDER BY datum DESC.
Professionelle Online-Shoppingsysteme zu günstigen Preisen: http://www.skyhosting.de
xabbuh
Mitglied
Beiträge: 20
Registriert: 30.08.2004 19:38

Beitrag von xabbuh »

StarShop hat geschrieben:Hallo,

je nachdem wie herum du die Daten sortiert haben möchtest, kannst du noch die Schlüsselwörter ASC (aufsteigend = Standard) bzw DESC (absteigend) anhängen, also ORDER BY datum DESC.
ASC kann weggelassen werden, da dies Standard ist, wenn nichts angegeben wird. Zwingen notwendig ist meines Wissens nach nur DESC wenn du absteigend sortieren lassen willst.

Wenn das Datumsformat jedoch TT.MM.JJJJ ist, wird man bei der Sortierung scheinbar "merkwürdige" Ergebnisse erhalten.
exweised
Mitglied
Beiträge: 123
Registriert: 22.05.2004 17:28

Beitrag von exweised »

Vielen Dank, funktioniert. :wink:
exweised
Mitglied
Beiträge: 123
Registriert: 22.05.2004 17:28

Beitrag von exweised »

Kann man auch 2 Spalten beim sortieren beachten lassen? :-?

Jetzt soll nämlich noch die Uhrzeit hinzu kommen. Habe einfach folgendes probiert:

Code: Alles auswählen

$select = @mysql_query("SELECT DATE_FORMAT(datum, '%d.%m.%Y') AS datum_formatiert, zeit, inhalt FROM tabelle ORDER BY datum, zeit DESC", $verbindung);
Aber leider funktioniert das nicht. :cry: Ist das nicht möglich? :-?
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Sollte eigentlich so funktionieren...
Wir ist die Zeit bei dir abgespeichert?

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
xabbuh
Mitglied
Beiträge: 20
Registriert: 30.08.2004 19:38

Beitrag von xabbuh »

Doch... genauso wird das gemacht.
In deinem Beispiel würde das konkret bedeuten:
- sortiere zunächst aufsteigend nach Datum
- wenn es Einträge mit gleichem Datum gibt, sortiere diese absteigend nach der Uhrzeit

Ist das so gewünscht?

Wenn nein, sag mal was du machen willst.
Wenn ja, schreib mal, was nicht richtig ist, ob es Fehlermeldungen gibt etc.
exweised
Mitglied
Beiträge: 123
Registriert: 22.05.2004 17:28

Beitrag von exweised »

Hmm, also Einträge sind solche:
2004-09-04 | 12:05:32 | lala
2004-09-04 | 12:45:42 | lele
2004-09-03 | 23:17:09 | lulu
2004-09-03 | 23:48:11 | lili
2004-08-30 | 22:22:22 | lolo
Diese sollen so ausgegeben werden:
2004-09-04 | 12:45:42 | lele
2004-09-04 | 12:05:32 | lala
2004-09-03 | 23:48:11 | lili
2004-09-03 | 23:17:09 | lulu
2004-08-30 | 22:22:22 | lolo
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Un wie werden sie mit deinem Befehl ausgegeben?

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Antworten

Zurück zu „Coding & Technik“