• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datum wird falsch ausgegeben

Sylnois

Mitglied
Hallo Community

Ich habe wiedereinmal ein Problem.
In der DB habe ich eine Tabelle events2 mit einer Spalte namens Datum.
In dieser Spalte sind Strings gespeichert(Bsp. 21.02).
Nun möchte ich diese Ausgeben.
Die Wochentagen und die Daten stimmen einfach nicht.
So sieht meine Ausgabe inetwa aus:

Mittwoch 24.05.2011
Freitag 26.05.2011

Was mache ich nur falsch?
PHP:
<table style="margin-bottom: 10px; margin-left:4px;" cellspacing="1px" cellpadding="1px">
<?php
$date = date("d.m");
$counter = 0;
while($counter < 7){
 
$wt = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
$tag = strtotime("+$counter day", strtotime("$date"));  
$tag = date("w", $tag); 
$heute = "$wt[$tag]"; 
?>
 <tr>
  <td colspan="2" style="border-bottom: 1px solid #5b656a; padding: 5px; background: #8c9aa1; width: 300px">
  <font style="color: white;"><b><?php echo $heute; ?></b></font> <font style="font-size: 11px; color: #cfcfcf"><?php echo"$date.2011"; ?></font>
  </td>
 </tr>
<?php
 $query = mysql_query("SELECT * FROM events2 WHERE Datum = '$date'");
 while($row = mysql_fetch_object($query)){
?>
<tr>
 <td style="width: 55px; padding: 5px; background: #ededed;">
  <?php echo"$row->Uhrzeit Uhr"; ?>
 </td>
 <td style="padding: 5px; background: #ededed;">
  <?php echo"<b>$row->Eventname</b> bei $row->Veranstalter"; ?>
 </td>
</tr>
<?php  
 }
 ?>
 <?php
 $counter += 1;
 $date = strtotime("+$counter day", strtotime("$date")); 
$date = date("d.m", $date);
 }
?>
 </table>
 
Wieso speicherst Du Datumsangaben als String? Dafür gibt es DATE und DATETIME bei MySQL.

Was hat die Ausgabe des Tages mit der Datenbank zu tun? Das geschieht vor dem SELECT und ich kann dort kein augenscheinliches Problem entdecken.
 
Nehmen wir an die eine Spalte wäre ein Datumsfeld(DATE).
Wie kann ich dann mittels PHP die nächsten 7 Tage(Datum und Tag) und erst dann alle Werte aus der Datenbank auslesen?

Gruss
Sylnois
 
Zurück
Oben