Hallo Freunde,
bin der Marcus und ganz neu bei euch
...und schon komme ich mit einem wohl schon oft durchgekauten Thema :-/
Habe auch shon diverse Themen hier durchgesehen aber noch nichts passendes gefunden...
Ich habe folgende Konstellation:
Auf einer Seite habe ich mehrere Felder in denen man das Datum im deutschen Format, also TT.MM.JJJJ eingeben kann und mit klick auf "abschicken" wird dies in eine Datenbanktabelle abgespeichert.
Mein Problem ist derzeit, dass es zwar geht aber nur wenn ich es im amerikanischen Stil schreibe: JJJJ.MM.TT
Widerum die Darstellung klappt wunderbar - über "date_format(feld, '%d.%m.%Y') AS feld" ...
Ich habe mal ein paar Code-Schnipsel angehängt um zu verdeutlichen, wie es derzeit bei mir aussieht... (bin dazu "verdonnert" worden, ein teilfertiges Projekt weiter zu führen )
Eingabemaske.PHP:
In der SQL-Datenbank habe ich die entsprechenden Felder als "date" deklariert ohne vordefinierten Inhalt.
Bei jedem Laden einer neuen Seite, Login usw., z.B. auch bei der Abfrage nach Tabellen/Datenbankinhalt wird wie oben im Code zu sehen auch eine "ini.db.php" geladen mit folgendem Inhalt:
ini.db.PHP:
Gehe ich recht in der Annahme das schon in dieser Datei eine entsprechende Funktion eingebaut werden muss bzw. sollte?
Entschuldigt bitte die Fragestellungen - aber ich bin noch recht frisch auf diesem Gebiet also bitte nicht mit ganz so großen Steinen nach mir werfen
Lange Rede, kurzer Sinn:
Wie bekomme ich es hin, dass man einfach das Datum in deutscher Schreibweise einträgt und dieses dann widerum sauber in der Tabelle abgespeichert wird in der Datenbank?
Danke euch schonmal!
Grüße,
Marcus
bin der Marcus und ganz neu bei euch
...und schon komme ich mit einem wohl schon oft durchgekauten Thema :-/
Habe auch shon diverse Themen hier durchgesehen aber noch nichts passendes gefunden...
Ich habe folgende Konstellation:
Auf einer Seite habe ich mehrere Felder in denen man das Datum im deutschen Format, also TT.MM.JJJJ eingeben kann und mit klick auf "abschicken" wird dies in eine Datenbanktabelle abgespeichert.
Mein Problem ist derzeit, dass es zwar geht aber nur wenn ich es im amerikanischen Stil schreibe: JJJJ.MM.TT
Widerum die Darstellung klappt wunderbar - über "date_format(feld, '%d.%m.%Y') AS feld" ...
Ich habe mal ein paar Code-Schnipsel angehängt um zu verdeutlichen, wie es derzeit bei mir aussieht... (bin dazu "verdonnert" worden, ein teilfertiges Projekt weiter zu führen )
Eingabemaske.PHP:
Code:
<?php session_start(); $hostname = $_SERVER['HTTP_HOST']; $path = dirname($_SERVER['PHP_SELF']); $_username=$_SESSION['username']; $_SESSION['kunde']['gruppe']; if (!isset($_SESSION['login']) || !$_SESSION['login']) { header('Location: http://'.$hostname.($path == '/' ? '' : $path).'/login.php'); exit; } ?> <html> <head> <title>Eingabemaske</title> </head> <body> <?php // Verbindung zur Datenbank herstellen require_once "ini.db.php"; // SQL-Anfrage: Zeile mit der übergebenen Matrikelnummer wählen $sql="SELECT f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12, date_format(f13, '%d.%m.%Y') as f13, date_format(f14, '%d.%m.%Y') as f14, f15, date_format(f16, '%d.%m.%Y') as f16 FROM auftrag WHERE f1=$_GET[id]"; // Anfrage ausführen $result=mysql_query($sql) or exit("Fehler im SQL-Kommando: $sql"); // Formular darstellen if ($row=mysql_fetch_row($result)) { echo "<form method=\"post\" action=\"tabelle-bearbeiten.php\">\n"; echo "<br>Datum1: <input type=\"text\" name=\"f13\" value=\"$row[12]\">\n"; echo "<br>Datum2: <input type=\"text\" name=\"f14\" value=\"$row[13]\">\n"; echo "<br>Datum3: <input type=\"text\" name=\"f15\" value=\"$row[14]\">\n"; echo "<br>Datum4: <input type=\"text\" name=\"f16\" value=\"$row[15]\">\n"; echo "<br><br><input type=\"submit\" name=\"submit_eingabemaske\" value=\"Abschicken\">\n"; echo "</form>\n"; } ?> </body> </html>
Bei jedem Laden einer neuen Seite, Login usw., z.B. auch bei der Abfrage nach Tabellen/Datenbankinhalt wird wie oben im Code zu sehen auch eine "ini.db.php" geladen mit folgendem Inhalt:
ini.db.PHP:
Code:
<?php $serv="localhost"; $user="Musteruser"; $pass="123456"; $base="testdb"; @mysql_connect($serv, $user, $pass) or exit("Fehler bei Verbindung zur Datenbank: $serv $user<br/>"); @mysql_select_db($base) or exit("Datenbank $base nicht vorhanden<br/>"); // Einstellung: SQL-Fehlermeldungen anzeigen $showsqlerrors=true; // Ausgabe einer Fehlermeldung und Abbruch function sqlExit($sql) { global $showsqlerrors; if ($showsqlerrors) echo "Fehler in SQL-Kommando: $sql<br/>".mysql_error()."<br/>\n"; exit(); } // Ausführung des SQL-Kommandos $sql // Abbruch, falls SQL-Kommando fehlerhaft function sqlQuery($sql) { $result=mysql_query($sql) or sqlExit($sql); return $result; } ?>
Entschuldigt bitte die Fragestellungen - aber ich bin noch recht frisch auf diesem Gebiet also bitte nicht mit ganz so großen Steinen nach mir werfen
Lange Rede, kurzer Sinn:
Wie bekomme ich es hin, dass man einfach das Datum in deutscher Schreibweise einträgt und dieses dann widerum sauber in der Tabelle abgespeichert wird in der Datenbank?
Danke euch schonmal!
Grüße,
Marcus
Kommentar