Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

[PHP] Datum nur einmal pro Tag anzeigen lassen

Hey, ich baue gerade eine Startseite, auf der man die letzten 15 News meiner Website sehen kann.

Der Teil des Codes sieht wie folgt aus:

 

Zitat
<?php

$host = "********";
$user = "********";
$pass = "********";
$datenbank = "********";
   
mysql_connect($host, $user, $pass) or die (mysql_error ());
mysql_select_db($datenbank) or die (mysql_error ());


$query_news = "SELECT threadid, boardid, topic, visible, starttime FROM bb1_threads WHERE boardid = '17' AND visible = '1' ORDER BY threadid DESC LIMIT 0,15";
$query_e_news = mysql_query($query_news);


echo "<table width=\"100%\" border=\"0\"><tr><td width=\"50%\" align=\"left\">";

while($row_news = mysql_fetch_array($query_e_news)) {


echo "<br>";
echo "<font style=\"background-color:#eeeeee;\">";
echo date("l, d. F Y",$row_news['starttime']);
echo "</font><br>";
   
echo "<a href=\"/thread.php?threadid=".$row_news['threadid']."\"><b>";
echo $row_news['topic'];
echo "</b></a>";
echo "<br><br>";
}

echo "</td></tr></table>";

?>

Dies klappt eigentlich auch alles ganz gut, nur jetzt will ich noch verwirklichen, dass das Datum nur über der ersten News des aktuellen Tages angezeigt wird, d.h. anstatt so:
15.11.08.
News 1
15.11.08
News 2
14.11.08
News 3

sollte es so aussehen:

15.11.08
News 1
News 2
14.11.08
News 3

Ich hoffe, ihr versteht, was ich meine.

Nun habe ich schon versucht, es so zu lösen:

 
Zitat

$lastdate = 1;
if($lastdate = 1) {
      echo "<br>";
      echo "<font style=\"background-color:#eeeeee;\">";
      echo date("l, d. F Y",$row_news['starttime']);
      echo "</font><br>";
   
      $lastdate = 2;
}

Ich glaibe aber nicht, dass es so funktioniert, jedoch müsste es aber ähnlich funzen, oder nicht?

Ich hoffe, ihr könnt mir weiterhelfen.

Antworten zu [PHP] Datum nur einmal pro Tag anzeigen lassen:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

***mademobile***Hi, vergleiche doch einfach bei jedem Durchlauf der Schleife das aktuelle Datum mit dem letzten. Wenn es sich geändert hat, zeige es an. 8)

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Hey, vielen Dank für deine Antwort.

Habe das Problem gestern abend noch gelöst bekommen, hatte aber leider keine Zeit mehr, um dies hier anzukündigen.

An die, die ein ähnliches Problem haben, hier die Lösung:

 

Zitat
$lastdate = "";
if($lastdate != date("l, d. F Y",$row_news['starttime'])) {
      echo "<br>";
      echo "<font style=\"background-color:#eeeeee;\">";
      echo date("l, d. F Y",$row_news['starttime']);
      echo "</font><br>";
      $lastdate = date("l, d. F Y",$row_news['starttime']);
}

Anfangs hatte ich es versuicht mit '$lastdate = $row_news['starttime']. Dies funktioniert aber nur, wenn nur das Datum im Feld 'starttime' gespeichert ist. Da hier aber Datum und Zeit gespeichert werden, muss $lastdate so aussehen: date("l, d. F Y",$row_news['starttime']).

Ist das auch in etwa das, was du meintest, JoSiF?

« Video in HpMous Rechtsklick »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Newsgroup
Newsgroup (Englischer Begriff für "Nachrichtengruppe") und meint eine Diskussionsforum im Internet, das wie ein "schwarzes Brett" funktioniert, an dem Nachrichten ve...

Android
Android bezeichnet sowohl ein Betriebssystem, als auch ein Unternehmen. Android ist ein Betriebssystem, das hauptsächlich für mobile Endgeräte wie Smartpho...

Zugriffszeit
In Milisekunden angegebene Zeit, die das Speichermedium zum Erreichen der gesuchten Daten braucht. Die Zeit ist abhängig vom technischen Verfahren des Mediums sowie ...