Avatar billede webstuff Nybegynder
25. april 2007 - 15:49 Der er 7 kommentarer og
1 løsning

MySQL udtræk sorter efter år og måneder

Hejsa Allesammen

Jeg er igang med at lave en blog, og nu er jeg så kommet til den del hvor jeg skal vise mit arkiv på følgende måde:
------------------------
2007
April (15)
Marts (25)
Februar (34)
Januar (34)

2006
December (23)
November(76)
------------------------

altså hvor den udskriver de forskellige årstal der er skrevet under, og under det årstal udskrive de forskellige måneder der er skrevet i og antallet af blogs i den måned.

Jeg har et timestamp i databasen som er indsat med NOW() og kan formateres som man har lyst til med DATE_FORMAT() - men kan bare ikke gennemskue hvordan den skal kringles - håber på der er nogen der kan hjælpe mig på vej :-)

Mvh. Andreas
Avatar billede barklund Nybegynder
25. april 2007 - 15:55 #1
Med simpel gruppering:

SELECT year(dato), MONTH(dato), count(1) FROM table GROUP BY year(dato), MONTH(dato) ORDER BY year(dato) DESC, MONTH(dato) DESC

Hvis du tilføjer WITH ROLLUP kan du endda vise:

------------------------
2007 (108)
April (15)
Marts (25)
Februar (34)
Januar (34)

2006 (99)
December (23)
November(76)
------------------------

Altså samlet tal for hele året :)

--
Morten Barklund
Avatar billede webstuff Nybegynder
25. april 2007 - 16:12 #2
hmm.. hvordan vil du udskrive det?
altså hvordan vil du lave løkken?

btw: tak for meget hurtigt svar :-P
Avatar billede barklund Nybegynder
25. april 2007 - 16:26 #3
Som du altid vil:

$result = mysql_query("SELECT year(dato) AS year, MONTH(dato) AS month, count(1) AS count FROM table GROUP BY year(dato), MONTH(dato) ORDER BY year(dato) DESC, MONTH(dato) DESC");
$prev_year = "";

while ($row = mysql_fetch_assoc($result))
  if ($prev_year != $row['year']) {
    echo "Year: $row[year]\n";
  }
  echo "Month: $row[month] ($row[count])\n";
}

:)

--
Morten Barklund
Avatar billede webstuff Nybegynder
25. april 2007 - 16:40 #4
Jeps - det virker som bare pokker..
Mange tak barklund!! :P

Lægger du et svar, så du kan få nogle point lige ned i foret !o)

//Andreas
Avatar billede webstuff Nybegynder
25. april 2007 - 16:42 #5
godt nok manglede der lige en { et mysql_fetch_assoc() men det var til at overkomme ;o)
Avatar billede barklund Nybegynder
25. april 2007 - 17:01 #6
Hehe, finfin :)
Avatar billede barklund Nybegynder
26. april 2007 - 10:46 #7
Danke sehr :)
Avatar billede webstuff Nybegynder
26. april 2007 - 16:29 #8
Mange tak for hjælpen :-)
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