Timestamp von PHP und MySQL
Hallo @all,
ich habe ein Problem die unterschiedlichen Timestamps von PHP und MySQL gemeinsam umzusetzen: Zum einen gibt es ja die Funktion time() in PHP, welche mir die aktuelle Unix-Zeit zurückgibt. Andererseits gibts in MySQL den Datentyp 'Timestamp' der allerdings total anders aufgebaut ist wie bei PHP. Gibt es eine Lösung, so dass PHP mit dem Timestamp aus der MySQL-Datenbank richtig umgehen kann? Zum anderen bin ich mir nicht sicher ob der Timestamp in MySQL nur beim Erstellen eines neuen Datensatzes gesetzt oder auch beim Ändern eines bestehenden Datensatzes neu gesetzt wird? Eine von diesem Thema unabhängige Frage wäre noch, wie ich eine Abfrage formuliere, die mir auch dann Datensätze liefert, wenn ich nicht den kompletten Wert einer Zelle eingebe. Beispiel: Zelleninhalt im Datenfeld 'Buchtitel': 'Ich lerne PHP' Suchkriterium: 'PHP Wie würde die Abfrage Aussehen, dass ich zur Ausgabe des Datensatzes komme? Ich hoff doch, Euch nicht mit meinem Frageschwall überrumpelt zu haben ;o) MfG Manu Tschaui |
Zum time()-Problem: Ich speicher die Zeit generell in einem Feld mit dem Datentyp int(eger). Damit gibt es auch keine Probleme - warum auch.
Zum zweiten: http://www.mysql.com/doc/en/String_c...functions.html Bsp.: SELECT feld1 FROM tabelle WHERE feld1 LIKE '%php%' heißt: er sucht alle Datensätze, die php enthalten (% sind Platzhalter, also optional) Viel Erfolg. |
ja. in mysql eine spalte vom type int(10) erstellen und dann den timestamp dort rein schreiben. du könntest auch die mysql funktion zum erzeugen des timestamps nehmen:
unix_timestamp(now()); |
Hallo,
so wie sich das hier anhört ist der von MySQL mitgebrachte Timestamp-Datentyp eine Sache die man sich schenken kann?! Einfachste Möglichkeit ist also den Rückgabewert der time() Funktion in die Datenbank zu schreiben, da PHP diesen Wert im Gegensatz zum MySQL-Timestamp nachträglich verarbeiten kann!? Welche Möglichkeiten bietet mir den PHP um beispielsweise zum aktuellen Datum bzw. zur aktuellen Zeit Tage, Stunden, Minuten usw. hinzuzuzählen oder abzuziehen? Zum Beispiel (31.08.2002 23:50 + 1 h = 01.09.2002 00:50) MfG Manu Tschaui |
eine stunde dazu:
time() + 60*60; mysql: unix_timestamp(now()) + 60*60 eine stunde weg: time() - 60*60 ein tag dazu: time() + 60*60*24 5 tage dazu time() + 60*60*24*5 ich denke das sollte helfen |
Hallöle,
mensch, dass man die Sache auch so lösen könnte ist mir garnicht eingefallen. Hab mir da wieder mal voll komplizierte Abläufe vorgestellt und ausgedacht (mit jeder Menge if-Kontrollstrukturen usw... :-) Gibts denn auch eine Funktion mit der ich ein 'normales Datum wie 10.02.2003 20:26 in die Unix-Zeitschreibweise umwandeln kann? MfG Manu Tschaui |
http://www.php.net/manual/en/function.strtotime.php
Freu Dich aber nicht zu früh, wenn Du das unter Windows nutzen willst! Funzt nur unter Unix/Linux! |
mktime() wandelt ein datum in einen unixtimestamp.
mktime(stunde,minute,sekunde,monat,tag,jahr); |
Hiho c4,
also die strtotime-Funktion, welche Du unter Windows angeblich nicht nutzen kannst, funktioniert auf meinem WAMP-Server einwandfrei ;-) MfG Manu Tschaui |
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:30:04 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.