• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

mysql default TIME Problem

crofthunter

New member
Hallöchen,
habe ein Problem mit MYSQL und dem TIME format. wie kann ich errreichen , daß in dem Datenbankfeld bei "default" anstelle von 00:00:00 überhaupt nichts drinsteht.

Mein Problem liegt hier nämlich in deine bestimmten IF schleife

if($vvier="")
{
echo "<tr bgcolor=\"$trcolor\"><td>$vvier</td><td><input type=\"radio\" name=\"terminauswahl\" value=\"$vvier\"></td></tr>";
}

$vvier ist der Uhrzeitwert aus der Datenbank. Wenn also nichts eingeben wird, wird die Zeile auch net angezeigt. Nur gibts ja auch die Zeit 0:00 Uhr und wenn ich die als Wert eingebe, wird natürlich auch nix angezeit. Aber bei 0:00 Uhr sollte dann auch 0:00 Uhr drinstehen.

Wäre nice wenn jemand die Lösung hätte.

Gruß Jann
 
Wie trägst du denn die Zeit in die DB ein? Die musst du doch erst erzeugen, bevor du sie einträgst, oder? (Hab mit dem TIME - Format noch nicht gearbeitet)
 
Eintrag von TIME in MYSQL

wenn ich nichts ein das Eingabefeld eintrage erzeugt MYSQL automatisch einen default mit 00:00:00 und denn bekomme ich in phpMyAdmin auch net weg durch blosses Löschen
 
Ja, ich weiß! Dann mach doch nen anderen Typ! Also nicht TIME, sondern z.B. VARCHAR!!

Du trägst dann trotzdem die Uhrzeit dort ein und wenn du nichts einträgst, bleibt das Feld auch leer!
 
also ich verwende TIME und DATE Felder in MySQL oder jeder beliebigen anderen DB nur beim Logging, d.h. in Fällen, in denen ich das Datum nie wieder auslesen muß....
Das Problem mit diesen Feldern ist, meiner Meinung nach, daß 1. solche Spezialfälle wie Deiner nicht abgefangen werden können, 2. je nach Ländereinstellung wird das Format anders erwartet und 3. jede DB ein anderes Format als Default hat und auch bei der Abfrage im Select ein anderes Format erwartet (z.B. Access braucht # um das Datum herum.... soweit ich weiß..)

was kannst Du also tun?
Ich verwende für Datums oder Zeitfelder i.d.R. Integer Felder. 20011229 wäre die Darstellung des heutigen Datums und 122415 die Uhrzeit dazu....
Diese Felder kannst Du mit -1 vorbelegen und Dein Problem sollte gelöst sein.
 
Ich persönlich arbeite auch lieber mit dem Unix Timestamp, es reicht ein Feld mit 10 Stellen in der DB dafür.

Bsp: Eingabe aktuelle Timestamp:

$time = mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("Y"));

Bsp: Auslesen und formatieren:
strftime("%d.%m.%Y %H:%M",$time);

Und mit einer klitzekleinen Erweiterung ist das ganze an die verschiedenen Zeitzonen anzupassen :)
 
Hallo!

Ich würde folgendes vorschlagen:

Wenn der Datensatz gespeichert wird sollte kontrolliert werden ob es 00:00:00 ist. Wenn ja, sollte hier 1 Sekunde dazugezählt werden und aus.
Somit hätte sich das Problem erledigt, d.h. wenn du die Zeit nicht genau auf die Sekunde brauchst, ansonsten auf Albu hören.
 
Zurück
Oben