Archief - PHP: timestamp parsen

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.

Black Death

Legacy Member
Klein probleempje, heb een tabel waar alle updates van de site komen. Date is een timestamp(14) en update varchar waar tekst gaat. Wat ik wil doen is alles wat daarin staat printen, en die groeperen per datum. Bv als er 2 zijn van 12 Dec, moeten die onder 1 "12 December" staan. Slaag er enkel in om die alletwee een '12 December" mee te geven. Query die ik gebruik:

Code:
SELECT DATE_FORMAT(date, '%c %M') AS date, `update` FROM fp_updates ORDER BY date DESC

GROUP BY leek mij logisch maar die toont enkel 1 record van elke unieke datum. Bv als er 2 zijn van 12 Dec en 1 van 13 Dec, toont hij 1 van 12 en 1 van 13. Wss iets doms dat ik overzien heb maar kvind het niet :/ Alle hulp is welkom :x

maT'

Legacy Member
Volgens mij probeer je iets wat niet kan.
Je SQL moet alle records opvragen (geen group by dus), en je PHP code moet bepalen of beide records tot 12 december behoren.

Je doorloopt dus met een lus de resultaten van je query en je vergelijkt het huidige resultaat met het vorige. Als die hetzelfde zijn (de datum dan), zit je op dezelfde dag, waardoor je enkel je andere gegevens moet afprinten, je datum niet meer.

Black Death

Legacy Member
Ah zo, had daar ni aangedacht omdat ik ni zoveel van lussen ken maar lijkt mij niet zo moeilijk :) Merci!

zero2one

Legacy Member
Simpel voorbeeld:
PHP:
$sql ="SELECT DATE_FORMAT(date, '%c %M') AS date, `update` FROM fp_updates ORDER BY date DESC";
$result = mysql_query($sql);

$date = "";
while ($row = mysql_fetch_array($result)
  {
  if ($date != $row['date'])
    {
    echo "<b>".$row['date']."</b><br />";
    $date = $row['date'];
    }
   echo $row['update']."<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