Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Probleme mit Sortieren und Datum [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Probleme mit Sortieren und Datum


 
acku2001
06-02-2002, 19:37 
 
Hallo!

ich habe Probleme beim Sortieren von Datensätzen; Ich habe 2 Felder (Date+Text) und will nach dem Datum sortieren lassen.
Meine Abfrage sieht so aus:
$abfrage = "SELECT datum,text FROM termine ORDER BY datum,text DESC"

Ich kann jedoch nicht festlogen, ob ab- oder aufsteigend (DESC / ASC). Die Ausgabe beginnt immer bei einem vergangenen Datum (z.B. 2002-01.12) und endet zb. bei 2002-05-16). Das brauche ich aber genau umgekehrt!


Zweites Problem. (Hier bestimmt schon zig mal aufgetaucht)
Das SQL Datumsformat (YYYY-MM-DD) in eine etwas gebräuchlichere Schreibweise (DD.MM.YYYY) ändern.
Ich habe dazu folgendes versucht:

$abfrage = "SELECT DATE_FORMAT(datum, '%d.%m.%Y') AS datum,text FROM termine ORDER BY datum,text DESC";

Dabei wird das Datum so wie ich es will angezeigt, jedoch werden die Datensätze dann nicht mehr nach dem Datum sortiert!

Bin über jeden Tip dankbar!

Viele Grüße
Achim

 
Sky
06-02-2002, 19:46 
 
Für beide Probleme, die ja eigentlich nur eines sind:

ORDER BY datum DESC,text DESC

 
acku2001
07-02-2002, 00:03 
 
Hi Sky,

dein Vorschlag brachte leider nicht den gewünschten Erfolg;

das Datum wird zwar im gewünschten Format (DD.MM.YYYY) ausgegeben, aber das Sortieren klappt nicht richtig. Es scheint so, als ob nur die Tage (DD) sortiert werden. Monat und Jahr (MM.YYYY) bleiben dabei unberücksichtigt.

Das Ergebnis sieht in etwa so aus:

01.03.2002 Testeintrag
01.05.2002 Testeintrag
08.03.2002 Testeintrag
17.02.2002 Testeintrag

 
hand
07-02-2002, 05:30 
 
$abfrage = "SELECT DATE_FORMAT(datum, '%d.%m.%Y') AS anzeigedatum,text FROM termine ORDER BY datum,text DESC";

 
acku2001
07-02-2002, 19:52 
 
Hi hand,

das Ändernd er Variable brachte den Erfolg! Besten Dank

Kannst du mir auch noch verraten wie ich das ganze umgekehrt mache kann, sprich Datum im Fomrat DD.MM.YYYY einlesen und in die DB im Format YYYY-MM-DD schreiben?

Gruß
Achim

 
hand
07-02-2002, 20:06 
 
Wenn Dein Datum das Format DD.MM.YYYY hast und Du das in das Format YYYY-MM-DD umwandeln willst, kannst Du beispielsweise explode() verwenden und das Datum dann über das Ergebnis-Array zusammenbauen.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:43 Uhr.