ORDER by SQL Befehl
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
beginn
dank
date
datum
ende
epoche
funktion
gleichen datum
januar
mache
ordern
problem
sekunde
sortieren
spalte
uhrzeit
url
vergangenen sekunden
zeitstempel
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo!
Du machst es, indem du sowal Datum als auch Uhrzeit in der selben Spalte ausliest bzw. einfügst.
Wenn du auf deiner Seite dann nur DD.MM.YYYY anzeigen willst, kannst du das mit der Funktion Date() modelieren.
bei dir wäre das: date('d.m.Y');
Gruß
illuxio
Beitrag zuletzt geändert: 22.9.2009 21:08:03 von illuxio -
davy schrieb:
Hallo !
In einer SQL Abfrage von mir sortiere ich meine Einträge mit "ORDER by Datum DESC".
Die Spalte Datum hat "22.09.2009"
Wenn jetzt aber noch ein Beitrag erstellt wird, hat es ja auch Datum = "22.09.2009"
Wie mache ich es, dass die neuesten Beiträge oben sind?
Speichere doch einfach den timestamp als integer mit ab und lass dann danach sortieren. Dann hast du auf jedenfalls eine sehr genaue Sortierung. -
illuxio schrieb:
Hallo!
Du machst es, indem du sowal Datum als auch Uhrzeit in der selben Spalte ausliest bzw. einfügst.
Wenn du auf deiner Seite dann nur DD.MM.YYYY anzeigen willst, kannst du das mit der Funktion Date() modelieren.
bei dir wäre das: date('d.m.Y');
Gruß
illuxio
Ja, aber mein Problem ist ja, dass ich dann mehrere Einträge mit dem gleichen Datum habe, ich will aber trotzdem die neuesten Einträge ganz oben haben. -
Dann verwende einen Timestamp (Zeitstempel), bei dem dann neben dem Datum auch die Uhrzeit mit Sekunden vorhanden ist.
-
karpfen schrieb:
Dann verwende einen Timestamp (Zeitstempel), bei dem dann neben dem Datum auch die Uhrzeit mit Sekunden vorhanden ist.
und wie kriege ich den timestamp? -
davy schrieb:
Ja, aber mein Problem ist ja, dass ich dann mehrere Einträge mit dem gleichen Datum habe, ich will aber trotzdem die neuesten Einträge ganz oben haben.
Doch da in der Spalte Datum folgendes steht:
2004-02-12T15:19:21+00:00
2004-02-12T15:19:22+00:00
(ISO 8601 Datum)
Da 22 > 21 ist wird der zweite Beitrag zu erste angezeigt, wenn du DESC sortierst.
Mit date('d.m.Y'); stellst du nur am Ende das Datum da
Das Datum wäre in beiden Fällen: 12.02.2004!
EDIT: time(); gibt die seit Beginn der Unix-Epoche (Januar 1 1970 00:00:00 GMT) bis jetzt vergangenen Sekunden zurück.
Gruß
illuxio
Beitrag zuletzt geändert: 22.9.2009 21:27:16 von illuxio -
Man könnte auch eine ID in die Tabelle schreiben, welche automatisch hochgezählt wird und nach der Sortieren. Das ist wahrscheinlich besser noch als der Timestamp. Timestamp ist ein eigener Datentyp für Datenbanktabellenfelder. Da muss man einfach ein weiteres Feld an der Tabelle anfügen, in der automatisch so ein Stempel generiert wird.
-
illuxio schrieb:
davy schrieb:
Ja, aber mein Problem ist ja, dass ich dann mehrere Einträge mit dem gleichen Datum habe, ich will aber trotzdem die neuesten Einträge ganz oben haben.
Doch da in der Spalte Datum folgendes steht:
2004-02-12T15:19:21+00:00
2004-02-12T15:19:22+00:00
(ISO 8601 Datum)
Da 22 > 21 ist wird der zweite Beitrag zu erste angezeigt, wenn du DESC sortierst.
Mit date('d.m.Y'); stellst du nur am Ende das Datum da
Das Datum wäre in beiden Fällen: 12.02.2004!
EDIT: time(); gibt die seit Beginn der Unix-Epoche (Januar 1 1970 00:00:00 GMT) bis jetzt vergangenen Sekunden zurück.
Gruß
illuxio
Danke !
Danke auch an alle anderen ! -
Kann ja dann zu, nachdem das Problem gelöst wurde. Bei Rückfragen PN an mich!
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage