Datum richtig ausgeben

dezz

Mitglied
Hallo!
Hab ein kleines Problem, uns zwar hab ich aus meiner Datenbank Daten rausgeholt per:

PHP:
$sql1 = "SELECT date FROM test WHERE type='jedewoche'";
$db_erg1 = mysql_query( $sql1 );
...
while ( $getit = mysql_fetch_array( $db_erg1, MYSQL_ASSOC))
{
echo $getit['date'];  
}
...
$getit['date'] -> Ergebnis ist, dass ich einen String bekomme(es sind 4 Daten): 2009-05-062009-05-072009-08-102009-02-13

Ich will das jedes Datum bis zum 2009-12-31 in Ein-Wochenschritten angezeigt wird..
Habe schon einiges versucht, mit strtotime z.b.. kommt aber nie was gescheites raus!
Kann mir jemand helfen? - Welche Funktionen könnte ich z.b benutzen?
 
Zuletzt bearbeitet von einem Moderator:
Kannst du mal bitte genauer erklären was du haben willst, von der Formatierung mal abgesehen in etwa so:

2009-05-06 / 2009-05-13 / 2009-05-20 / 2009-05-27 / ...

2009-05-07 / 2009-05-14 / 2009-05-21 / 2009-05-28 / ...

2009-08-10 / 2009-08-17 / 2009-08-24 / 2009-08-31 / ...

2009-02-13 / 2009-02-20 / 2009-03-06 / 2009-03-13 / ...


und das bis der 31.12.2009 (oder auch 2009-12-31) bzw. das letzte "Wochendatum" davor erreicht ist ? ?
 
Hi

die Tage erhälst du mittels
PHP:
$parts = explode("-", $getit["date"]);
echo "Tag: ".$parts[2];
Das kannst du jetzt mit php sortieren.
 
@tombe
Ich wollte des genauso haben wie du es hingeschrieben hast.
Dass alle Daten vor bzw auf dem 2009-12-31aufhören :)
 
Vom Prinzip her sollte dir das hier weiterhelfen:

PHP:
<?php
date_default_timezone_set('Europe/Berlin');

$datum[] = "06-05-2009";
$datum[] = "07-05-2009";
$datum[] = "10-08-2009";
$datum[] = "13-02-2009";

for ($a = 0; $a < count($datum); $a++) {
    echo "<b>" .$datum[$a] ."</b><br />";
    $datum_neu = $datum[$a];
    while (strtotime("+1 week", strtotime($datum_neu)) <= strtotime("31-12-2009")) {
        $datum_neu = date("d-m-Y", strtotime("+1 week", strtotime($datum_neu)));
        echo $datum_neu ."<br />";
    }
}
?>
 
Das ist nice!
Genau sowas hab ich versucht zu erstellen, danke.
Bloß noch eins,
PHP:
$getit['date']
-> wie kann ich das so aufteilen, dass es einzelne Daten sind?
 
Du musst die WHILE Schleife von deinem Quellcode in mein Beispiel einbauen:

PHP:
<?php 
while ( $getit = mysql_fetch_array( $db_erg1, MYSQL_ASSOC)) {
    echo "<b>" .$getit ."</b><br />"; 
    $datum_neu = $getit; 
    while (strtotime("+1 week", strtotime($datum_neu)) <= strtotime("31-12-2009")) { 
        $datum_neu = date("d-m-Y", strtotime("+1 week", strtotime($datum_neu))); 
        echo $datum_neu ."<br />"; 
    } 
} 
?>
 
Zurück