Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>Wie wird das gemacht? Gruppiertes Datum bei News-Beiträgen mit PHP

Wie wird das gemacht? Gruppiertes Datum bei News-Beiträgen mit PHP

doschni01.01.1417:08
Hallo allerseits und frohes Neues!

Hier auf der MTN-Hauptseite gefällt mir sehr gut wie die News-Beiträge aufgebaut sind. Gibt es an einem Tag mehrere Beiträge, sieht man das klar an einem gruppierten Datum als Überschrift (z.B. DIENSTAG, 31. DEZEMBER 2013)

Meine Frage ist: Wie lässt sich das mit PHP und MYSQL programmieren?

Bis jetzt habe ich folgenden Code, mit dem ich jedoch nicht weiterkomme:


Ich habe diese jetzt mit zwei while Schleifen ineinander gelegt, aber ich kann sie nicht richtig einordnen, wie ihr im Bildanhang sehen könnt.

Ich bitte um Eure Hilfe.

Gruss doschni
0

Kommentare

clown18201.01.1417:29
Bei deinem Code blicke ich zwar nicht ganz durch, aber im Grunde kannst du das so lösen:

$vorgaenger;
while($day = mysql_fetch_array($result_all)) {
   $datum = date( "d.m.Y", $day['aktualisiert']);
   if($vorgaenger != $datum) {
      echo $datum;
   }   
   
   // News Beitrag ausgeben

   $vorgaenger = $datum;
}
0
doschni01.01.1418:12
Hallo clown182

Danke für Deine Antwort. Ich bin kein Profi, das hast Du richtig erkannt.

Leider funktioniert Dein Beispiel bei mir nicht.
-Müsste der $vorgaenger; nicht noch irgendwie angesprochen werden?
-Und hab ich das richtig verstanden, dass total nur noch eine while Schleife benötigt würde?

Als result_all hab ich bisher alle Datenbankeinträge ausgelesen.
Mit result_day wollte ich nachträglich nur das gruppierte Datum als Überschrift eintragen.

Jetzt erhalte ich nur noch 01.01.1970 00:00h

Letztenendes sollte es ähnlich aussehen wie im folgenden Bild:
Links sollte einfach nur 1x pro Tag das Datum stehen und nicht nach jeder Zeile.
0
clown18201.01.1418:22
Ich weiß nicht, in welchem Format das Datum gespeichert ist. Vermutlich benötigst du wieder die Funktion strtotime().
$vorgaenger dient dazu zu überprüfen, ob das genau gleiche Datum bereits schon einmal ausgegeben wurde.
Auf jeden Fall reicht eine Schleife aus, $results_day brauchst du dann nicht mehr.
0
doschni02.01.1422:50
Danke Dir nochmal clown182, Du hast mir den richtigen Denkanstoss gegeben.

Den fertigen Code stelle ich mal online, falls ihn jemand gebrauchen kann .

Im Bildanhang das Resultat.

Gruss doschni
0
Umfrage

doschni

  • doschni
    0,0 %
  • doschni
    100,0 %

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.