Nieuwsberichten groeperen per jaartal

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sam Clauw

Sam Clauw

22/03/2011 12:45:09
Quote Anchor link
Hallo iedereen,

ik ben bezig met een nieuwsberichten pagina: http://beta.bellewaerdefun.be/nieuws. Zoals je kunt zien heb ik een 100-tal persberichten in de database waardoor het nogal onoverzichtelijk oogt.

Ik had deze nieuwsberichten graag automatisch geordend op jaartal. Dit wil zeggen: een titel "Persberichten 2011" met daaronder alle persberichten van het jaar 2011. Idem voor alle andere persberichten voor de jaren 2010, 2009, 2008, 2007 en 2006.

De vraag is nu: hoe bouw je een query & script op dat alles mooi ordent zoals ik wens én dat zorgt dat er een nieuwe titel "Persberichten 2012" te voorschijn komt wanneer er in 2012 een persbericht toegevoegd wordt?

Dit is de structuur van mijn database:

news_id (id)
news_date (datum)
news_title (titel)
news_intro (intro tekstje)
news_text (volledig tekstbericht met XHTML inclusief)

En dit is wat ik tot nu toe al bedacht heb:

<h2>Persberichten Bellewaerde Park</h2>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php

$news
= new mysqli(MYSQL_SERVER,MYSQL_USER,MYSQL_PASS,MYSQL_DB);

if(mysqli_connect_errno()){
    trigger_error('Fout bij verbinding: ' . $news->error);
}


$sql = "SELECT * FROM news";

if(!$result = $news->query($sql)){
    trigger_error('Fout in query: ' . $news->error);
}
else{
    $totalRecords = $result->num_rows;
}


$sql = "SELECT news_id, DATE_FORMAT(news_date, '%d/%m/%y') AS date, DATE_FORMAT(news_date, '%Y') AS year, news_title, news_intro FROM news ORDER BY news_id DESC";

if(!$result = $news->query($sql)){
    trigger_error('Fout in query: ' . $news->error);
}
else{
    echo '<ul>';
    while($row = $result->fetch_assoc()){
        echo '<li>' . $row['date'] . ' - <a href="/nieuws/' . $row['year'] . '/' . $row['news_id'] . '" title="' . $row['news_title'] . '">' . substr_replace($row['news_title'], '...', 80) . '</a></li>';
            
    }

    echo '<ul>';
}


$news->close();

?>


Iemand een ideetje? ;)
 
PHP hulp

PHP hulp

22/11/2024 07:09:04
 
Stefan -

Stefan -

22/03/2011 13:37:46
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$sql = "SELECT news_id, DATE_FORMAT(startdate, '%d-%m-%Y')AS date,DATE_FORMAT(postdate, '%m-%d-%Y')AS news_title, news_intro, startdate as sortdate from - ORDER BY sortdate DESC;
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.