Archief - PHP: sorteren op datum

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

DJBlackBull

Legacy Member
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

Greetz

NeoNeke

Legacy Member
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 :p

Nog een oplossing zou zijn de datum, jaar en maand opslaan in verschillende rijen. Maar dit is te omslachtig naar mijn gedacht.

DarkBone

Legacy Member
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.

Dece

Legacy Member
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 commando
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan