Gå til innhold

Sortere og vise nyheter etter måned


Anbefalte innlegg

Heisann.

 

Jeg har et script som henter og viser en liste over nyheter fra en database, men listen er bare sortert etter dato. Jeg har sett flere steder at lista blir delt opp i grupper med hver måned, noe lignende dette:

Januar:

  - Nyhet

  - En annen nyhet

 

Februar:

  - En ny nyhet

Er det noen som kan hjelpe med med å få til dette?

Her er koden jeg bruker nå (ikke noe spesielt med den):

 

PHP
echo "<ul style=\"list-style-type: square;color: #900\">";

 

$query = "SELECT * FROM sys_news ORDER BY date DESC ";

$result = mysql_query($query) or die('Error, query failed');

 

while( $news = mysql_fetch_array( $result ) ) {

 

echo "<li style=\"font: 12px Verdana;\"><a href=\"/news/{$news['id']}/\">

" . $_lang->fetch_dynamic_token( "news_" . $news['id'] . "_headline" ) . "</a> 

(<small style=\"color:#900\">" . date( 'd/m/y', $news['date'] ) . "</small>)</li>";

 

}

 

echo "</ul>";

 

 

Takker for alle svar!

Lenke til kommentar
Videoannonse
Annonse

echo "<ul style=\"list-style-type: square;color: #900\">";
   
for ($i = 1; $i < 13; $i++) {
$startDate = mktime(0, 0, 1, $i, 1, 2006);
$endDate = mktime(0, 0, 1, $i+1, 1, 2006);
$query  = "SELECT * FROM sys_news 
WHERE date>$startDate 
AND date<$endDate
ORDER BY date DESC ";
$result = mysql_query($query) or die('Error, query failed');

while( $news = mysql_fetch_array( $result ) ) {

echo "<li style=\"font: 12px Verdana;\"><a href=\"/news/{$news['id']}/\">
" . $_lang->fetch_dynamic_token( "news_" .  $news['id'] . "_headline" ) . "</a> 
(<small style=\"color:#900\">" . date( 'd/m/y', $news['date'] ) . "</small>)</li>";

}
}
echo "</ul>";

 

Ikke testet, men må vel bli noe sånt? (om date er unix-timestamp da?) ;)

Lenke til kommentar

Går an å gjøre det litt finere hvis vi bruker MySQLs innebygde funksjoner (og datoene er lagret med en dato-datatype).

PHP
<?php

for ($i 1$i 13$i++) {

$get_news mysql_query("SELECT * FROM sys_news WHERE MONTH(date) = $i ORDER BY date DESC");

while ($news mysql_fetch_assoc($get_news)) {

// bla bla bla

}

}

?>

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...