Thread: PHP: sorteren op datum
-
06-04-2005, 12:13 #1Member
- Registered
- 06/04/05
- Posts
- 1
- iTrader
- 0
- Mentioned
- 0 Post(s)
PHP: sorteren op datum
ik ben hier bezig met een evenementenkalender in elkaar te steken, die is goed gelukt maar het probleem ligt hem bij het sorteren van de datum, dus de eerst volgende evenementen zouden boven moeten staan en de latere vanonder... Als ik die kolom op sorteren zet, sorteert die enkel het eerste getal, dus de dag, zou iemand mij hierbij kunnen helpen?
Dit is de kalender in kwestie
zoals ge kunt zien is die gesorteert op het eerste getalleke.
www.groovexevents.be/kalender.php
Greetzno votes
-
-
06-04-2005, 12:21 #2
Ik veronderstel dat alle evenementen in een database staan (mysql)
Al naar gelang hoe je de datum opslaat is de oplossing anders. Als je (wat ik veronderstel) de datum gewoon opslaat zoals dit: 01-05-2005 dan heb je idd dit probleem dat in volgorde zetten niet gaat.
De oplossing bestaat erin ofwel die datums op te slaan in EPOCH-tijd (het aantal seconden vanaf 1970) en dan sorteert die dat wel juist. Via scripting (veel info over te vinden dus ik tik het hier zelf niet, want er zijn meerdere oplossingen) kan je die EPOCH-tijd omzetten naar iets meer herkenbaar.
Ook is het met de laatste versies van MySQL mogelijk je query zo te schrijven dat hij wel daadwerkelijk rangschikt op data's. Maar dan moet je je tabel goed configurerern. Hieromtrent ken ik wel niets
Nog een oplossing zou zijn de datum, jaar en maand opslaan in verschillende rijen. Maar dit is te omslachtig naar mijn gedacht.Creative Developer @ Duval Guillaume Eno votes
-
06-04-2005, 13:29 #3Member
- Registered
- 18/11/02
- Location
- Eke, Belgiƫ
- Posts
- 2,448
- iTrader
- 0
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
Als je in je database met een geschikt datum type werkt, dan vind je zeker een enkele MySQL statements die je kunnen helpen.
Een datum opslaan als string is natuurlijk not done.no votes
-
06-04-2005, 13:37 #4
prefix vergeten --> usernote added
het rangschikken van data kunde in mysql het best op 1 van deze 2 manieren doen
via DATETIME --> "insert into xxx (datum) values NOW()";
via int(11) --> $now = time(); "insert into xxx(datum) values $now";
uitlezen kun je dan met het date commandono votes
