Avatar billede Slettet bruger
14. oktober 2007 - 15:35 Der er 4 kommentarer og
1 løsning

Datoinddeling af nyhedsarkiv

Hej Eksperter,

Jeg har i min database nyhederne, de har hver en dato-værdi som er i UNIX_TIMESTAMP.

Nu vil jeg gerne have lavet mit nyhedsarkiv, således at det vises fx:

9. November
nyhedsoverskrift1
microsoft går konkurs
dell overtager nike

30. Oktober
apple køber ea games
nike stopper produktion af sko, og starter produktion af lamper

Altså, den viser de datoer der er nyheder - og derefter viser den nyhederne for pågældende dato... hvordan?

På forhånd tak!
Rapsac
Avatar billede Steven Nybegynder
14. oktober 2007 - 16:06 #1
Jeg vil skyde på noget alá nedenstående.

"SELECT * FROM `table` GROUP BY DATE_FORMAT( `date`, '%d' )"
Avatar billede Steven Nybegynder
14. oktober 2007 - 16:07 #2
Du skal muligvis gøre brug af funktionen FROM_UNIXTIME() fremfor DATE_FORMAT() når din dato er i UNIX_TIMESTAMP.
Avatar billede styrk Nybegynder
14. oktober 2007 - 16:08 #3
Lav en for-løkke som skriver ugens dage ud, så for hver dag kan trække nyhederne ud, eller skrive til den besøgende at der ingen nyheder er på den pågældende dag?
Avatar billede Steven Nybegynder
14. oktober 2007 - 16:11 #4
Eller nok nærmere nedenstående ;)

while( .. )
{
    $date = date( "d", $foo->date );
    if( $date != $lastDate )
    {
        echo "<h1>{$date}</h1>";
    }
    echo "{$text}<br />";
    $lastDate = $date;
}
Avatar billede Slettet bruger
14. oktober 2007 - 16:19 #5
Lidt tid med mig selv og jeg fik lavet det i bedste slamkode:

http://pastebin.com/m58ce304

Ellers 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