26. april 2010 - 23:34
Der er
6 kommentarer og 1 løsning
Gruppering af datoer fra mysql db
Hej! Jeg sidder med en lille udfordring. Jeg vil gerne liste en række events efter dato, men også i grupper af måneder. Ønskesenariet er: <ul> <li>April 2010</li> <li>0404 event</li> <li>0504 event</li> <li>0604 event</li> <li>Maj 2010</li> <li>0705 event</li> <li>2105 event</li> <li>2505 event</li> </ul> Her er min php-kode: $getdata = mysql_query("SELECT * FROM events WHERE dato > '$today' ORDER BY dato ASC LIMIT 200") or die(mysql_error()); if(mysql_num_rows($getdata) == 0) { print"Ingen events..."; } else { print"<ul>\n"; while($row = mysql_fetch_array($getdata)) { print"<li><a href='#event".$row['id']."'><span class='eventdatelist'>".$row['dato']."</span>".$row['navn']."</a></li>\n"; } print"</ul>\n"; } Jeg kan simpelthen ikke gennemskue hvordan jeg får den flettet ind? Nogen med nogle bud? pft!
Annonceindlæg fra DE-CIX
Edge computing: behandling ved kilden
Edge computing revolutionerer den måde, data behandles på, ved at bringe kapacitet og ydeevne tættere på dér, hvor der er behov for det.
15. april 2025
27. april 2010 - 01:47
#1
$getdata = mysql_query("SELECT YEAR(dato),MONTH(dato),dato,navn FROM events WHERE dato > '$today' ORDER BY dato ASC LIMIT 200") or die(mysql_error()); og så lader du din PHP kode udskrive en overskrift hvergang der starter en ny måned.
27. april 2010 - 01:51
#2
$getdata = mysql_query("SELECT YEAR(dato) AS y,MONTH(dato) AS m ,dato,navn FROM events WHERE dato > '$today' ORDER BY dato ASC LIMIT 200") or die(mysql_error()); og: $lastyear = -1; $lastmonth = -1; while($row = mysql_fetch_array($getdata)) { if($lastyear != $row['y'] || $lastmonth != $row['m']) { // udskriv $row['y'] og $row['m'] $lastyear = $row['y']; $lastmonth = $row['m']; } print"<li><a href='#event".$row['id']."'><span class='eventdatelist'>".$row['dato']."</span>".$row['navn']."</a></li>\n"; }
27. april 2010 - 11:29
#3
Har prøvet at sætte det ind, men uden held. Kan ikke lige gennemskue, hvor bliver "måneds<li>'en" smidt ind? den linie der bliver printet er kun til eventlinierne pft! Kim
Slettet bruger
27. april 2010 - 14:51
#5
Som @arne_v har skrevet:"// udskriv $row['y'] og $row['m']" Betyder du selv skal sætte noget ind der. Alt du vælger at udskrive inde i den IF vil kun blive vist hver gang man støder på en ny månede.