Beste allemaal,

laat ik beginnen me even voor te stellen. Ik ben Aljosja, en ik heb me de laatste weken gewijd aan een website die de reserveringen van bepaalde kamers voor mijn school (een conservatorium) moet regelen. De website is inmiddels af (ik heb ajax icm met een mysql database toegepast), alleen loop ik nu tegen een praktisch probleempje aan:

de sql-tabel voor de reserveringen slaat de datum van de reserveringen op in een kolom 'date' als een varchar, in het format YYYY-MM-DD (bijvoorbeeld '2010-11-6', of '2010-11-16'). De site laadt voor ingelogde gebruikers zijn reserveringen voor de toekomst in een venstertje in de gebruikersnavigatie, zodat ze in één oogopslag kunnen zien welke kamers ze wanneer hebben gereserveerd. Ik wil dat deze reserveringen op datum gesorteerd worden, dus heb ik logischerwijs aan de SQL-query 'ORDER BY date' toegevoegd. Probleem opgelost dacht ik, totdat ik er vandaag achter kwam dat een reservering 2010-11-10 voor een reservering 2010-11-2 wordt geplaatst, kennelijk omdat de database als 1, 10, 11, 12, enz, 2, 21, 22 telt.

Een oplossing zou waarschijnlijk zijn om de dagen 1-9 als 01-09 op te slaan, maar dat brengt weer allerlei ander gedoe met zich mee, omdat ik dan veel andere stukken code moet aanpassen.

Daarom nu mijn vraag: kan je, nadat de sql-query al is uitgevoerd, de resultaten in php nogmaals sorteren? Dan zou ik bijvoorbeeld de datum middels strtotime() naar een timestamp kunnen omzetten en op die timestamp kunnen laten sorteren.

De site kunnen jullie trouwens vinden op:
http://harpsichordclass-denhaag.nl/

Bedankt alvast!

Aljosja
Aljosja Mietus op 06/11/2010 15:05:18

... in een kolom 'date' als een varchar ...


Gebruik het type DATE of DATETIME en geen varchar.
- SanThe - op 06/11/2010 15:32:18

[quote="Aljosja Mietus op 06/11/2010 15:05:18"]
... in een kolom 'date' als een varchar ...


Gebruik het type DATE of DATETIME en geen varchar.
[/quote]

Moet die niet altijd een timestamp bevatten?
SELECT * FROM reserveringen ORDER BY datum

mischien dat dit werkt

of ik heb niet goed gelezen
maar ik denk dat je dit bedoeld
De oplossing van -SanThe- heeft inderdaad gewerkt. Bedankt!

Reageren