Nur bis zum bestimten Datum ausgeben

MOD

Mitglied
Hallo Gemeinde,

sorry wg. des Threads gestern, der war z.T. überflüssig...

Also ich hab die Abfrage hinbekommen und die Daten werden nun auch chronologisch ausgegeben.
Allerdings hab ich keine Idee, wie ich eine Abfrage erstellen kann, die mir nur Artikel ausgibt, die nicht älter als eine Woche sind?

Hier noch der Code der Ausgabedatei:

PHP:
<? 
$verbindung = @mysql_connect("XXX","XXX","XXX");
$db="XXX";
mysql_select_db($db);
$abfrage = "SELECT * FROM Neuigkeiten ORDER BY Datum DESC";
$ergebnis = mysql_query($abfrage,$verbindung);

while($row = mysql_fetch_array($ergebnis)) 
{

echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"550\">
<tr><td colspan=\"2\" class=\"head\">$row[Thema]</td></tr>
<tr><td colspan=\"2\" bgcolor=\"#DEDEDE\">$row[News]</td></tr>
<tr><td class=\"feet\" bgcolor=\"#DEDEDE\">Autor: $row[Autor]</td>
 <td align=\"right\" class=\"feet\" bgcolor=\"#DEDEDE\">Veröffentlicht am $row[Datum]</td></tr><br></table>";
											  }


?>

Kann mir jemand dabei helfen? Das Datum ist als DATETIME in der Datenbank vorhanden, und soll bitte auch in diesem Format bleiben...

Danke..:)
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

man macht eine extra Spalte in der Tabelle und setzt dort ein timestamp rein.
Mit :

PHP:
$time = time();

Dann rechnen wir mal.
Also eine Std. hat 60 * 60 = 3600 sec.
Ein Tag 24 * 3600 = 86400 sec.
Also hat eine woche = 7 Tage
86400 * 7 = 604 800 sec.

Also machst du dann ein if Abfrage :
Alles was jünger ist als 604 800 sec. soll ausgegeben werden.

Ich hoffe ich habe mich nciht verrechnet.

Das Beispiel ist mir eben so eingefallen.
Vielleicht hilft es ja.

Viel Spass.

euer SaTaN
 
Hi!

$abfrage = "SELECT * FROM Neuigkeiten WHERE ( UNIX_TIMESTAMP(Datum)>(UNIX_TIMESTAMP(NOW())-$sekunden) ) ORDER BY Datum DESC";
...wäre eine Lösung.
$sekunden wäre dann die Zahl vom Vorredner...
 
Zurück