Tabelle auslesen und nach Feld auflisten/gruppien?

SuReBuRn

Mitglied
Hallo!

Habe eine Tabelle, in der die News stehen. Nun frage ich alle News der letzten 10 Tage ab. Jetzt möchte ich es gerne so darstellen, dass diese News pro Tag im Block angezeigt werden:
6. Juni 2007
- newsID100
- newsID99
5. Juni 2007
- newsID98
... usw., ähnlich wie hier http://www.computerbase.de/news/

Nun hab ich leider garkeine Idee, wie ich das anstellen kann? Bin quasi am verzweifeln, wär für jeden Tip dankbar :)
 
Du hast doch für die News sicherlich einen Timestamp gespeichert. Danach könntest Du sortieren und entsprechend nach Tagen unterscheiden.
 
Wie speicherst du denn deine Daten? MySQL-Datenbank, CVS-Datei ... ?

Oder möchtest du die News aus einer Internetseite auslesen?
 
sry, ich dachte das sei klar :D MySQL:
PHP:
$db->Execute("SELECT * FROM `x_news` WHERE `active` = 1 AND `timestamp` >= '".$seven_days_lmit."' ORDER BY `time` DESC");
In $seven_days_lmit steht natürlich time()-7 tage.
 
Ist das Feld `timestamp` vom Typ TIMESTAMP? Wenn ja könnte man sich die Sache um einiges erleichtern, da man die Zeit- und Datumsfunktionen von MySQL nutzen kann.

Anscheinend ist es aber kein TYP TIMESTAMP, da du ja eine Abfrage mit dem UNIX-Timestamp benutzt. Wäre es noch möglich den TYP des Feldes zu ändern?
 
Zuletzt bearbeitet:
Nachdem er time() - 7 Tage sagt, wohl nicht.

Aber das macht nichts du kannst ja trozdem die MySQL Datums Funktionen benutzen :>

SQL:
SELECT *, UNIXTIME(`timestamp`, '%D') as tag FROM `x_news` WHERE `active` = 1 AND `timestamp` >= '".$seven_days_lmit."' ORDER BY `time` DESC"

Dann hast du das Feld `Tag` indem halt 2 3 4 oder so etwas steht, damit ließe sich zumindest auf jeden Fall noch recht einfach in der Quey ein Feld mitbekommen wo du die Tage unterscheiden kannst. Ansonsten wirst du nach jedem Eintrag überprüfen müssen ob es ein neuer Tag ist. Hier auch wieder mit der date() funktion. Und dann eben noch ein [Dienstag der **-***-****] ausgeben lassen.
 
Zuletzt bearbeitet von einem Moderator:
Zurück