Hi Michael,
Also ich hab das Problem das die Tabelle mittels einem Textfeld gefüttert wird. Der User gibt das Datum im tt.mm.jjjj Format ein.
So würde ich es _nicht_ machen. Denn ich kenne viele Leute, die ein Datum auch im Format tt/mm/jj oder jj-mm-tt oder auch einfach nur tt.mm.jj angeben - dann kriegst du da ja nie ein System rein!
Deshalb stelle ich den Usern immer drei Select-Listen zur Verfügung, die lassen sich bequem mit PHP erzeugen:
echo "<select name=\"date[day]\">\n";
for($x = 1; $x <= 31; $x ++)
{
echo "<option value=\"$x\">$x.</option>\n";
}
echo "</select>\n<select name=\"date[month]\">\n";
for($x = 1; $x <= 12; $x ++)
{
echo "<option value=\"$x\">$x.</option>\n";
}
echo "</select>\n<select name=\"date[year]\">\n";
for($x = 1920; $x <= intval(date("Y")); $x ++)
{
echo "<option value=\"$x\">$x</option>\n";
}
echo "</select>\n";
Hier wird das Datum in der Form tt.mm.dddd angegeben, im obigen Beispiel kann man Jahre zwischen 1920 und dem aktuellen Jahr auswählen (das oben noch etwas erweitert, habe ich an einer Stelle genutzt, wo der User sein Geburtsdatum eingeben konnte.
Serverseitig muss man dann (nach dem Prüfen des Datums auf Gültigkeit) nur noch die einzelnen Werte zusammensetzen:
$entered_date = $_POST['date']['year']."-".$_POST['date']['month']."-".$_POST['date']['day'];
dann wird es in der Tabelle gespeichert und wieder heraus gelesen und erneut gespeichert.
Wie kann ich das realisieren ?
Beim Auslesen gehst du einfach so vor:
SELECT
foo,
bar,
sontiges,
DATE_FORMAT(datumsspalte, '%d.%m.%Y') AS datum_formatiert
FROM
tabelle
Wenn du dann anschließend mit PHP den MySQL Result Wert ausliest ...
$row = mysql_fetch_assoc($return)
... hast du in $row['datum_formatiert'] das fertig für die Ausgabe formatierte Datum drin stehen :-)
MfG, Dennis.
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Die Stoßstange ist aller Laster Anfang! (Häfft)