login  Naam:   Wachtwoord: 
Registreer je!
 Forum

datum sorteerd niet juist (Opgelost)

Offline masterblue - 05/09/2009 15:50
Avatar van masterblueNieuw lid Die functie DATE is zeker leuk Ik ben nu gewoon in PHPMyAdmin bezig om zo via de MySQL te sorteren.


Misschien kunnen jullie mij helpen als ik sorteer op datum met de volgende select:
  1. SELECT NieuwsId, NieuwsOnderwerp, DATE_FORMAT( NieuwsDatum, '%d-%m-%Y' ) AS NieuwsDatum
  2. FROM tblnieuws
  3. ORDER BY NieuwsDatum DESC


dan krijg ik de volgende waarden terug:

31-08-2009
30-08-2009
30-08-2009
30-06-2009
17-08-2009
04-09-2009
03-09-2009
02-09-2009


Er word dus niet echt gesorteerd, alleen op de dag word er gesorteerd.

Dus ik heb het anders geprobeerd te sorteren:

  1. SELECT NieuwsId, NieuwsOnderwerp, DATE_FORMAT( NieuwsDatum, '%d-%m-%Y' ) AS NieuwsDatum
  2. FROM tblnieuws
  3. ORDER BY 'DATE()' ASC


Ook dat werkte niet. Het zou kunnen dat ik dan op maand zou moeten sorteren door het volgende toe te passen?

  1. SELECT NieuwsId, NieuwsOnderwerp, DATE_FORMAT( NieuwsDatum, '%d-%m-%Y' ) AS NieuwsDatum
  2. FROM tblnieuws
  3. ORDER BY 'DATE(%d-%m-%Y)' ASC


Mijn laatste poging:
  1. SELECT NieuwsId, NieuwsOnderwerp, DATE_FORMAT( NieuwsDatum, '%d-%m-%Y' ) AS DATUM
  2. FROM tblnieuws
  3. ORDER BY DATUM


Heeft iemand enig idee hoe en wat ik hier misschien fout doe?

6 antwoorden

Gesponsorde links
Offline Koen - 05/09/2009 16:06
Avatar van Koen PHP expert
  1. SELECT NieuwsId, NieuwsOnderwerp, DATE_FORMAT( NieuwsDatum, '%d-%m-%Y' ) AS Datum
  2. FROM tblnieuws
  3. ORDER BY NieuwsDatum DESC

Je overschrijft de waarde van NieuwsDatum met een string, vandaar dat het enkel sorteert op de waarden voor het streepje.
Offline masterblue - 05/09/2009 16:10
Avatar van masterblue Nieuw lid @ aapjuh
TABLE `tblnieuws` (
`NieuwsId` int(9) NOT NULL auto_increment,
`NieuwsOnderwerp` varchar(255) NOT NULL,
`NieuwsBericht` longtext NOT NULL,
`NieuwsDatum` datetime NOT NULL,
`NieuwsLink` varchar(1500) default NULL,
PRIMARY KEY (`NieuwsId`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=28 ;

@Koen
je bedoelt voor de %d?
Dan zou ik dus een andere notering moeten gebruiken als: %d,%m,%Y?
Offline Koen - 05/09/2009 16:16 (laatste wijziging 05/09/2009 16:23)
Avatar van Koen PHP expert Mijn code werkt al.

-> Dus gewoon die overschrijving tegengaan en sorteren op het datetime veld zoals je oorspronkelijk plan.
Offline masterblue - 05/09/2009 16:42
Avatar van masterblue Nieuw lid Sorry Koen, maar ik begrijp niet wat je bedoelt....nadeel van werken met een editor....mijn kennis is niet zo goed als die van jouw 
Offline Koen - 05/09/2009 17:05
Avatar van Koen PHP expert Is dat nu zo moeilijk? In mijn vorig bericht heb ik je een werkende code gegeven...  
Offline masterblue - 05/09/2009 17:20
Avatar van masterblue Nieuw lid ow... sorry....   
d8 dattie van mijzelf was....leek erop  

thanks!!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.221s