Archief - Nieuws groeperen per datum

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

fulcoboy

Legacy Member
Hey ik wou het volgende is vragen: ik heb een heleboel newstopic ondereen staan maar nu zou ik graag hebben dat deze gegroepeerd worden per datum.

Voorbeeld:
08 december 2009
Newstopic 1
Newstopic 2

09 december 2009
Newstopic 3

Dus dat er eerst de datum komt te staan en dan de nieuwstopics die bij die datum horen.

Hetzelfde principe dus eigenlijk gelijk op de hoofdpagina van 9lives.
Ben een beginneling in PHP/MYSQL :)

heb momenteel volgende code om het nieuws al weer te geven:

PHP:
<?php
$result = mysql_query("SELECT *, DATE_FORMAT(date_time, '%H:%i') AS tijd, DATE_FORMAT(date_time, '%d-%m-%Y') AS datum FROM news");

while($row = mysql_fetch_array($result))
  {
  $date = $row['datum'];
  $time = $row['tijd'];  	  
  $id = $row['id'];
  $titel = $row['titel'];
  echo "<a href='verslag.php?id=$id'>$time - $titel</a>";
  echo "<br />";
  }
?>

Spacy2003

Legacy Member
Nooit een asterix gebruiken, als je alles nodig hebt uit je tabel schrijf deze waardes dan allemaal op. Veel handiger als je achteraf fouten zoekt in je query en in vele gevallen heb je zelfs niet alles nodig uit je tabel.

SELECT id, titel, DATE_FORMAT(date_time, '%H:%i') AS tijd, DATE_FORMAT(date_time, '%d-%m-%Y') AS datum
FROM news
ORDER BY date_time DESC


ASC = ascending = aflopend (Laagste waarde eerst)
DESC = descending = oplopend (Hoogste waarde eerst/Recentste datum/tijd) -> meest gebruikt voor nieuws

fulcoboy

Legacy Member
Spacy2003 zei:
Nooit een asterix gebruiken, als je alles nodig hebt uit je tabel schrijf deze waardes dan allemaal op. Veel handiger als je achteraf fouten zoekt in je query en in vele gevallen heb je zelfs niet alles nodig uit je tabel.

SELECT *, DATE_FORMAT(date_time, '%H:%i') AS tijd, DATE_FORMAT(date_time, '%d-%m-%Y') AS datum
FROM news
ORDER BY date_time DESC


ASC = ascending = aflopend (Laagste waarde eerst)
DESC = descending = oplopend (Hoogste waarde eerst/Recentste datum/tijd) -> meest gebruikt voor nieuws

Zal het aanpassen :) een antwoord op mijn vraag weet je toevallig niet? :p

fulcoboy

Legacy Member
Spacy2003 zei:

ja maar mijn vraag is eigenlijk hoe ik dan er toe kom dat ik bijvoorbeeld alle berichten van vandaag neem, daar de datum van vandaag bovenplak en dan bv. die van gisteren met de datum van gisteren.

Net zoals op de 9lives hoofdsite dus.

8 december 2009
Nieuws 1
Nieuws 2
Nieuws 3
--break
7 december 2009
Nieuws 4
Nieuws 5

enzovoort

Fr3aK

Legacy Member
Code:
SELECT id, titel, DATE_FORMAT(date_time, '%H:%i') AS tijd, DATE_FORMAT(date_time, '%Y%m%d') AS datum, DATE_FORMAT(date_time, '%e %M %Y') as displayDatum FROM news ORDER BY date_time DESC

PHP:
$datum = '';
$first = true;
while($row = mysql_fetch_array($result))
{
  $id = $row['id'];
  $tijd = $row['tijd'];
  $titel = $row['titel'];
  $displayDatum = $row['displayDatum'];
  if ($datum != $row['datum']) {
    if (!$first) {
      echo 'hier uw --break';
    }
    $first = false;
    echo '<h1>'.$row['displayDatum'].'</h1><br />';
    $datum = $row['datum'];
  }
  echo '<a href="verslag.php?id='.$id.'">'.$tijd.' - '.$titel.'</a><br />';
}
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan