Forenindex » Programmierung/Entwicklung » PHP und MySQL » Timestamp in einer MySQL-Datenbank

Timestamp in einer MySQL-Datenbank

Anonym
Beiträge gesamt: 22827

19. Aug 2002, 15:49
Bewertung:

gelesen: 3637

Beitrag als Lesezeichen
Hallo Leute!

Ich hab ein Problem mit einer MySQL-Datenbank: In einer Spalte(einer Tabelle) werden dort Zeiten im UNIX-Timestamp-Format gespeichert, d.h. eine Eingabe wie 1.12.1979 wird als 312850800 o.ä. abgespeichert. Das hat für mich den Vorteil, dass ich die Tabellenausgabe auch zeitlich sortiert ausgeben kann... leider funktioniert jetzt aber meine Suchfunktion nicht mehr: Wie kann ich es bei dieser Datenbank jetzt hinkriegen, dass ich z.B. alle Datensätze finde, die 1979 waren oder am 12. usw. Eine Lösung, die mir durch den Kopf geht, ist, eine extra Spalte einzurichten, wo ich das Datum im Format tag.monat.jahr (1.12.1979) abspeichere und dort halt die Suchfunktion verwende, aber das erscheint mir nicht so elegant...

Gibt es eine einfachere Variante?

Vielen Dank im Voraus für die Hilfe...

Timestamp in einer MySQL-Datenbank

Ollli
Beiträge gesamt: 458

19. Aug 2002, 17:06
Bewertung:

gelesen: 3637

Beitrag als Lesezeichen
Also du kannst ein ganz normales Datum verwenden, sprich Date oder DateTime und kannst dass immer noch nach Zeit sortieren lassen.

Ich weiß nicht ob das jetzt technisch einwandfrei ist und kann dir nur aus Erfahrung sagen, dass das Datum einfach zu einer Zahl "zusammengezogen" wird und dann einfach als Zahl sortiert wird.

Jedenfalls funzt das bei mir immer so

Ollli

Timestamp in einer MySQL-Datenbank

Anonym
Beiträge gesamt: 22827

20. Aug 2002, 08:12
Bewertung:

gelesen: 3637

Beitrag als Lesezeichen
Danke für die Antwort, aber könntest du etwas konkreter werden? Welchen "Typ" verwendest du denn für die Spalte mit dem Datum? und wie setzt du den Sortierbefehl ein...? Hast du vielleicht ein Beispiel parat?

Grüße, Patrick.

Timestamp in einer MySQL-Datenbank

Ollli
Beiträge gesamt: 458

20. Aug 2002, 15:15
Bewertung:

gelesen: 3637

Beitrag als Lesezeichen
Als Typ verwende ich "DATE" oder "DATETIME"

ein Beispiel-Vergleich:

SELECT * FROM users ORDER BY geburtstag ASC;
listet alle User nach dem Geburtsdatum auf, welches vom Typ "DATE" sein sollte

SELECT * FROM users WHERE geburtstag=CURDATE() ORDER BY geburtszeit ASC;
listet alle Geburtstagskinder zum jeweiligen Tag auf und ordnet sie nach der Geburtszeit.

Reicht das?

Wenn nicht, einfach nochmal posten.

Ollli

Timestamp in einer MySQL-Datenbank

Anonym
Beiträge gesamt: 22827

21. Aug 2002, 09:43
Bewertung:

gelesen: 3637

Beitrag als Lesezeichen
danke
ist also doch so einfach...
hmm, wenn die Spalte das Format bzw. den Typ DATE hat, wie müssen denn die Daten (Plural von Datum) eingegeben werden... ich hätte sie gerne im Format Tag.Monat.Jahr /30.1.1999 gespeichert

wie kriege ich das denn hin?

Timestamp in einer MySQL-Datenbank

Frank
Beiträge gesamt: 12

21. Aug 2002, 14:06
Bewertung:

gelesen: 3637

Beitrag als Lesezeichen
In mySQL wird Immer im Format YYYY-MM-DD HH:MM gespeichert.
Willst du ein anderes format ausgeben, gibt es in SQL
verschiedene Befehle zum diese Ausgabe direkt zu
formatieren, weiter kann man dies auch nachträglich mit
PHP noch formen... (Einzelne Daten mit substr() auslesen
und anders wieder zusammensetzen)

GR: MDi

Timestamp in einer MySQL-Datenbank

Ollli
Beiträge gesamt: 458

21. Aug 2002, 17:48
Bewertung:

gelesen: 3637

Beitrag als Lesezeichen
schau dir mal die Funktion date_format() von MySQL an, dort kannste dein Datum formatieren wie du willst.

Ollli

Timestamp in einer MySQL-Datenbank

webgrauen
Beiträge gesamt: 20

21. Aug 2002, 17:54
Bewertung:

gelesen: 3637

Beitrag als Lesezeichen
Ich würde den Timestamp ruhig in die DB schreiben, den brauchst du nicht vorher in ein Datum umzuwandeln.


Beispiel: Auslesen des Timestamp:

$meine_query="SELECT mein_datum FROM meine_tabelle";
$meine_query_result=mysql_query($meine_query);
while($data=mysql_fetch_array($meine_query_result))
{
$data[mein_datum]=date("d-M-Y",$data[mein_datum]);
echo "$data[mein_datum]";
}


Timestamp in einer MySQL-Datenbank

Anonym
Beiträge gesamt: 22827

22. Aug 2002, 08:46
Bewertung:

gelesen: 3637

Beitrag als Lesezeichen
danke für eure Hilfe...

@webgrauen: für eine große Datenbank aber nicht unbedingt empfehlenswert, gell?