Avatar billede mads2008 Nybegynder
18. september 2009 - 17:44 Der er 7 kommentarer og
1 løsning

Sortere efter dato

Hej. Jeg har brug for en som kan hjælpe mig med at liste opslag efter dato.

Min datoer er formateret som 18-09-2009 (18. september 2009) 

hvordan får jeg alle opslag sorteret efter datoen?

Som sådan:

18-09-2009
21-10-2009
12-12-2009
01-02-2010
osv.

Herunder er den stump kode som henter data (order by dato).   

//Vis alle opslag
$result = mysql_query("select * from kalender order by dato",$Conn);
 
//while loop læser alle posterne
while($r=mysql_fetch_array($result))
  {

Jeg har læst lidt på det hist og her og er ikke blevet meget klogere. Nærmere #%€"#!!
Avatar billede mads2008 Nybegynder
18. september 2009 - 17:59 #1
Order by dato er go nok. Det er ikke date.
Avatar billede coderdk Praktikant
18. september 2009 - 18:42 #2
Du skal naturligvis gemme dem i DATE-formatet, ikke som tekst som du gør der - så kan du altid formattere til noget andet derfra ;)
Avatar billede mads2008 Nybegynder
18. september 2009 - 18:50 #3
Ok. det kunne jeg også fornemme ud fra hvad jeg har læst. Suk!

Dato output skal nemlig for læseren se sådan ud 18.09.2009

Derved skal jeg lave alt muligt hurlumhej...og dage...

Hvis jeg gemmer som 2009-09-18 og som DATE i mysql, hvordan får jeg så:

- Alle opslag listet efter dato
- Og 2009-09-18 vist som 18.09.2009

lettest muligt i denne
$result = mysql_query("select * from kalender order by dato",$Conn);
Avatar billede coderdk Praktikant
18. september 2009 - 18:57 #4
F.eks. SELECT DATE_FORMAT(dato_felt, '%d.%m.%Y') AS datoen FROM dintabel ORDER BY dato_felt
Avatar billede mads2008 Nybegynder
18. september 2009 - 19:27 #5
Du bliver nød til at skære det ud...og anrette...og made... bebe!

Hvad mener du med AS datoen?

SELECT DATE_FORMAT(dato, '%d.%m.%Y') AS datoen FROM kalender ORDER BY dato

Skal ind et eller andet sted her omkr:

  //Vis alle opslag
  $result = mysql_query("select * from kalender order by dato",$Conn);
 
  //kør while loop som læser posterne
  while($r=mysql_fetch_array($result))
  {
      //Læser kalenders titler og id
      $overskrift=$r["overskrift"];
      $dato=$r["dato"];
      $id=$r["id"];
Avatar billede coderdk Praktikant
18. september 2009 - 21:33 #6
AS laver et "alias" for et feltnavn, i dette tilfælde for værdien der returneres af funktionskaldet DATE_FORMAT(dato, '%d.%m.%Y')


//Vis alle opslag
  $result = mysql_query("SELECT id, overskrift, DATE_FORMAT(dato, '%d.%m.%Y') AS datoen FROM kalender ORDER BY dato", $Conn);

  //kør while loop som læser posterne
  while($r=mysql_fetch_array($result))
  {
      //Læser kalenders titler og id
      $overskrift=$r["overskrift"];
      $dato=$r["datoen"];
      $id=$r["id"];
Avatar billede mads2008 Nybegynder
18. september 2009 - 23:30 #7
Du er min bedste ven :o)

Tak for det. Læg et svar.
Avatar billede coderdk Praktikant
19. september 2009 - 00:41 #8
:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester