News sortieren nach Datum für die letzten 5 Tage

Ja, da hast du recht. Jedoch würde deins so noch nicht funktionieren, da er das Datum als Unix-Timestamp abspeichert. Aber das Problem kann man ja einfach mit date(..) beheben.
 
Dann geht das ganze sogar mit nur einer Datenbankabfrage:
PHP:
<?php
$heute = getdate();
$unix = mktime(0, 0, 0, $heute[mon], $heute[mday], $heute[year]);
$ende = $unix + 86399;
$start = $unix - 345600; 
$query = "SELECT Datum, News, Und-mehr FROM News WHERE DATUM >= '".$start."' AND DATUM <= '".$ende."'";

    $result = mysql_query($query);
    $tmp = NULL;
    while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
        if( $tmp != date("d.m.Y", $row['datum'] )) {
            echo date("d.m.Y", $row['datum'] );
        }
        echo …
        $tmp = date("d.m.Y", $row['datum'] );
    }

?>

Ich hoff ich hab da jetzt kein Fehler reingemacht...
 
Hallo, danke schonmal für die zahlreichen Antworten.

Zum letzten Code nochmal:

Was hat es mit dieser Bedingung auf sich?
PHP:
if( $tmp != date("d.m.Y", $row['datum'] ))
 
$tmp ist praktisch so ein Speicher für das Datum. Wenn sich das Datum verändert, also der Timestamp von einem anderen Tag ist, dann ist er beim ersten mal ungleich wie das Datum, dass in $tmp gespeichert wurde. Dann wird einmal das Datum ausgegeben.
Des ist nur da, damit du deine News richtig gliedern kann, so wie du es in deinem Beispiel wolltest...
 
Zurück