SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 06.02.2003, 18:31:58
BlindCrazyBoy BlindCrazyBoy ist offline
Anfänger
 
Registriert seit: Jan 2003
Beiträge: 24
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
Mit Zitat antworten
  #2  
Alt 06.02.2003, 19:35:14
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
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.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #3  
Alt 07.02.2003, 09:32:16
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
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());
Mit Zitat antworten
  #4  
Alt 08.02.2003, 20:29:50
BlindCrazyBoy BlindCrazyBoy ist offline
Anfänger
 
Registriert seit: Jan 2003
Beiträge: 24
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
Mit Zitat antworten
  #5  
Alt 10.02.2003, 09:46:48
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
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
Mit Zitat antworten
  #6  
Alt 10.02.2003, 21:27:01
BlindCrazyBoy BlindCrazyBoy ist offline
Anfänger
 
Registriert seit: Jan 2003
Beiträge: 24
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
Mit Zitat antworten
  #7  
Alt 11.02.2003, 08:42:42
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
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!
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #8  
Alt 11.02.2003, 10:33:38
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
mktime() wandelt ein datum in einen unixtimestamp.
mktime(stunde,minute,sekunde,monat,tag,jahr);
Mit Zitat antworten
  #9  
Alt 16.02.2003, 01:37:08
BlindCrazyBoy BlindCrazyBoy ist offline
Anfänger
 
Registriert seit: Jan 2003
Beiträge: 24
Hiho c4,

also die strtotime-Funktion, welche Du unter Windows angeblich nicht nutzen kannst, funktioniert auf meinem WAMP-Server einwandfrei ;-)


MfG Manu
Tschaui
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:01:47 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt