Sortieren nach Datum?

Klingt ja alles interessant - und ich hab auch schon mal versucht die Informationen zu verarbeiten.

In mein Formular habe ich zur Unterteilung des Datums ein Dropdown eingebaut. die namen habe ich tag, monat und jahr genannt. Jetzt habe ich versucht diese Angaben mit Hilfe von mktime() zu verarbeiten und zwar so:

PHP:
$war_date=mktime(0,0,0,$monat,$tag,$jahr);

Leider trägt er nichts ein - das wär ja auch zu einfach gewesen wenns funktioniert hätte.:-)

In einem anderen Thema habe ich aber dieses Beispiel so gesehen - fehlt da evtl. noch was am Code? Wenn die Zeitangabe auf 0 stehen wird dann keine Uhrzeit eingetragen?
 
man muss doch aber nicht zwingend mit mktime arbeiten. du kannst nach wie vor weiter mit

PHP:
$Datum=date('Y-m-d H:i:s');
mysql_query ("INSERT INTO Tabelle VALUES ($ID, $Wert1, $Wert2, $Datum)");

arbeiten und diese in deine db einfügen. Musst nur darauf achten, das du die spalte im Dateiformat DATETIME machst und die entsprechende syntax beibehälst vom Datum. Glaube kannst auch mit . arbeiten( date('Y.m.d H:i:s'); ). Weiss ich aber nimmer so genau

dann kannste auch dannach sortieren und vergleichen
 
Ja, stimmt schon! Aber ich will das Datum ja flexible haben bzw selbst eintragen können und nicht automatisch vergeben - dann könnte ich auch nach ID sortieren lassen.
 
na dann gib doch in einem Textfeld einfach ein
2004-03-01 21:00:00
Das speicherst in variable und dann fügste ein in die db. Oder verstehe ich das wieder etwas falsch?
 
Danke für den Tip! :-)
In der Datenbank gibts ja noch die Spaltenfunktion "date" die dann die Zahlen als Datum erkennt.

Gibts denn auch eine Möglichkeit das Datum zu Konvertieren - ich meine statt 2003-11-01 > 01.11.2003?
 
Original geschrieben von icefire
Gibts denn auch eine Möglichkeit das Datum zu Konvertieren - ich meine statt 2003-11-01 > 01.11.2003?
Geht ganz einfach mittles der Stringoperation split():

PHP:
function formatDate($date) {

    $arrDate = split("-",$date);
    return $arrDate[2].".".$arrDate[1].".".$arrDate[0];
}

echo formatDate("2003-11-01");
 
Habe das mal so versucht, das Datum auszugeben weil wenn ich das Feld schon mit Zahlen bestücke ("2003-12-12") wird auch nur dieses datum ausgegeben - aber das Datum aus den Zeilen hat ja verschiedene Werte.

PHP:
$date = $data[war_date];
function formatDate($date) { 

    $arrDate = split("-",$date); 
    return $arrDate[2].".".$arrDate[1].".".$arrDate[0]; 
} 
$func_date = formatDate("$data[war_date]");

egal ob mit $war_date oder $data[war_date] - es werden nur noch die Punkte ausgegeben. Warum ist denn das so? Die Werte aus der DB haben doch das Datumformat (2004-03-02)!:(
 
Ach mit dieser Variante werden nur die Punkte ausgegeben:

PHP:
$date_orig = $data[war_date];
$date_split = split ("-", $date_orig);
$date_new = $date_split[2] . "." . $date_split[1] . "." . $date_split[0];
echo $date_new;
 
Habs jetzt hinbekommen und zwar so:

PHP:
function german_date($usdate){
         $gdate = date("d.m.Y", strtotime($usdate));
         return $gdate;
}

printf("<tr> 
            <td><font size=-2>[<font color=\"".$bg2."\">".german_date($data[war_date])."</font>]</font></td>");

Das war ja mal eine schwere Geburt! :-)
 
Zurück