Hallo Community, ich habe ein paar Fragen zu MySQLi mit PHP! Auf der Webseite kann man einen Zeitpunkt für einen Terminstart eingeben. Die Zeit soll dann in der Tabelle gespeichert werden. Meine erste überlegung war denn UNIX-Timstamp als INT zu speichern, habe aber dann gelesen das es schönere Lösungen mit TIMESTAMP gibt. Leider hab ich im Internet keinerlei Beispiele dazu gefunden, wie man das richtige Format in PHP hinbekommt und in MySQL speichert. Desweiteren soll eine Sortierung nach frühestem Zeitpunkt möglich sein. Evtl. sollen Einträge die schon abgelaufen sind gelöscht werden. Hatte da jemand Informationen, Tipps, Beispiele für mich? Desweiteren suche ich auch eine Tabelle mit Auflistung von MySQL-Befehlen in zusammenhang mit PHP. Hab ich auch nur sperrlich etwas gefunden. Bevorzugt in Deutsch. Vielen Dank! Fabian
in der Datenbank sollte man einfach Datetime verwenden. http://dev.mysql.com/doc/refman/5.6/en/datetime.html Es gibt ein definiertes ODBC Format wie man Zeitangaben übergeben kann. {ts '2015-09-26 22:19:00.2324'} ob da mysql versteht kann ich nicht sagen. > Desweiteren suche ich auch eine Tabelle mit Auflistung von > MySQL-Befehlen in zusammenhang mit PHP. Hab ich auch nur sperrlich etwas > gefunden. die Befehl für die man mysql braucht stehen alle hier. http://php.net/manual/de/book.mysql.php der Rest ist SQL und in der mysql doku beschrieben http://dev.mysql.com/doc/refman/5.7/en/ > Bevorzugt in Deutsch. lerne lieber Englisch zu lesen, dann findet man auch mehr Infos und meist aktuellere.
Peter II schrieb: > lerne lieber Englisch zu lesen, dann findet man auch mehr Infos und > meist aktuellere. Ich wusste das diese Meldung kommt. Ich kann Englisch! Nur bei programmiertechnischen Fragen verstehe ich es auf Deutsch nun mal besser, meist lese ich eh auf Englisch und habe zu dem Thema Zeitformat viel gelesen nur verstehe ich es nicht ganz. Ich bin schon einige Stunden am recherchieren. Deine Links habe ich auch schon alle durchgelesen. Der zweite ist nicht aktuell, er enstpricht nicht mehr dem Standard (MySQLi).
Ich glaube das grundsätzliche ist das ein Eintrag im Timestamp Feld immer Timestamp codiert sein muss. zB. $timestamp = date('Y-m-d G:i:s',$mysecondstime); Das Verständnisproblem liegt wahrscheinlich darin das Du selbst entscheiden musst ob du in PHP oder mysql konvertierst, bzw überhaupt konvertierst. Der Obere in MYSQL wäre: FROM_UNIXTIME($mysecondstime) DATE(FROM_UNIXTIME($mysecondstime)) (Vergleicht nur Datum) Ich benutze nur den unixtimestamp und rechne dann alles in Sekunden.
Da komm ich der Sache schon näher! Kannst du mir die unteren Befehle erklären? Oder ein Beispiel in PHP, wie ich schreiben und lesen kann? $time = $db->query("SELECT time FROM table WHERE id LIKE '0'"); Geht das so? Und wie kann ich da denn Zeitlich nähesten Eintrag auslesen? Ich lerne und verstehe immer am besten Ahnhand von Beispielen.
:
Bearbeitet durch User
Beispiele gibts ohne Text lesen zu müssen bei mysql.net und php.net id like FROM_UNIXTIME(0) Ein like ist da allerdings der falsche Ansatz soweit ich weiß. Lese doch einfach Deutsche Tuts. Oder: https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html Da ist eine Liste rund um Zeit.. für jeden Mysql Befehl ein Select und die Antwort-Tabelle in allen möglichen Variationen:
1 | mysql> SELECT FROM_UNIXTIME(1196440219); |
2 | -> '2007-11-30 10:30:19' |
3 | mysql> SELECT FROM_UNIXTIME(1196440219) + 0; |
4 | -> 20071130103019.000000 |
5 | mysql> SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(), |
6 | -> '%Y %D %M %h:%i:%s %x'); |
7 | -> '2007 30th November 10:30:59 2007' |
Wenn Du dich mit der Quelle nicht vertraut machst, lass es lieber mit Mysql.
ein genereller Tipp: statt der MySQLi erweiterung sollte man heutzutage PDO verwenden: http://php.net/manual/de/book.pdo.php inkl. Prepared-Statements. Die meisten Tutorials die man als Anfänger findet sind in der Hinsicht veraltet. Dein Problem ist erst einmal, in welcher Form die Datenbank aufgebaut ist! Ob in der Spalte nun ein unix-timestamp, sql timestamp oder datetime steht spielt eine wesentliche rolle für die Art der Abfrage. Generell ist es wahrscheinlich am sinnvollsten wenn du dich erstmal mit SQL beschäftigst...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.