php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen
Alt 20.12.2005, 21:32  
Benutzer
 
Registriert seit: 22.10.2005
Beiträge: 98
mollitz
Standard wie kann man datums vergleichen

ich habe folgendes problem:
In einer mysql datenbank will ich daten speichern die ein datum haben.
wenn das datum abgelaufen ist (später wie heute) wird dieser datensatz gelöscht!
aber wie kann ich datums miteinander vergleichen. inerhalb von mysql ist das ja kein problem aber wie kann man datums angaben wie z.b. 2005-12-24
in PHP vergleichen
danke mollitz
mollitz ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.12.2005, 21:35  
Gast
 
Beiträge: n/a
Standard

1 Datum, 2 Daten

Wandele die Daten in Timestamps um, dann ist das kein Problem mehr.

Gruß
phpfan
 
Alt 20.12.2005, 21:36  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

In PHP lassen sich Daten am besten in UNIX-Timestamps vergleichen. Ein Datum im oben angesprochenen Format kannst du in PHP mit strtotime() bzw. in MySQL mit UNIX_TIMESTAMP() in einen UNIX-Zeitstempel umwandeln. Allerdings ist die Frage warum du diese Einschränkung unbedingt mit PHP vornehmen willst und nicht in der Abfrage.
xabbuh ist offline  
Alt 20.12.2005, 22:23  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 472
duderino
Standard

Speicher deine Datensätze am besten gleich als timestamp in der datenbank ab. Dann hast du später überhaupt keine probleme mehr mit vergleichen, berechnen usw.
duderino ist offline  
Alt 20.12.2005, 23:06  
Benutzer
 
Registriert seit: 22.10.2005
Beiträge: 98
mollitz
Standard hab ich gespeichert

also in der datenbank hab ichs glaub schon als timestamp gespeichert
ich hab die datenbank mit PHPmyAdmin gemacht. ja und da hab ich halt date angegeben

is des richtig??
und dann kann ich in php des einfach in variablen speichern und dann vergleichen?????
dnake mollitz
mollitz ist offline  
Alt 21.12.2005, 08:25  
Benutzer
 
Registriert seit: 08.08.2005
Beiträge: 86
Ricochet
Standard

Das Date-Format ist leiter kein Timestamp.

Timestamps sind die Anzahl der sekunden die Seit dem 1.1.1970 vergangen sind.
Das ist aber eher Nebensache. Und im gegensatz zu DATE lassen sich timestamps viel einfacher vergleichen. Da es einfach nur eine Zahl ist.


Du Speicherst also einen timestamp in der DB:

INSERT INTO table SET
user = 'Neuer Benutzer',
timestamp = UNIX_TIMESTAMP(); (Aktueller Zeitpunkt)



Später kannst du damit machen was du willst, rechnen, in ein Datumsformat umwandeln und so weiter. Zb könntest du dir erstmal ausgeben lassen wann sich der letzte Benutzer registriert hat.


list($letzte_registrierung) = mysql_fetch_row(mysql_query("SELECT timestamp FROM table ORDER BY timestamp DESC LIMIT 1"));

Jetzt nur noch umwandeln in ein vernünftiges Datum

echo date("m, j H:i:s", $letzte_registrierung);
__________________
Tabellenlayouts sind out, Browsergames sind schei$$e und die Erde ist eine Scheibe.
Ricochet ist offline  
Alt 21.12.2005, 09:03  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 472
duderino
Standard

Und mit diesen Vergleichsoperatoren kannst du dann die verschiedenen Daten vergleichen.

http://tut.php-q.net/vergleich.html
duderino ist offline  
Alt 21.12.2005, 10:51  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.934
Zergling-new wird schon bald berühmt werdenZergling-new wird schon bald berühmt werden
Standard

Allerdings kannst du ein Datum des MySQL-DATE-Formats (YYYY-MM-DD) in PHP auch vergleichen.
Zergling-new ist offline  
Alt 21.12.2005, 13:32  
Benutzer
 
Registriert seit: 08.08.2005
Beiträge: 86
Ricochet
Standard

Aber nur weil php so nett ist und versucht strings im zusammenhang mit operatoren als zahlen zu interpretieren.
Und das ist alles andere als 'sauber'.
Abgesehen von 'human readable' sehe ich keinen Grund ein Mysql Datumsformat zu benutzen.
__________________
Tabellenlayouts sind out, Browsergames sind schei$$e und die Erde ist eine Scheibe.
Ricochet ist offline  
Alt 21.12.2005, 13:39  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 1.476
DiBo33
Standard

Zitat:
Zitat von Ricochet
Abgesehen von 'human readable' sehe ich keinen Grund ein Mysql Datumsformat zu benutzen.
Ich schon, allein aus dem Grund da es immer noch Leute gibt, welche vor 1970 geboren wurden.
DiBo33 ist offline  
 


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Datums Foumulareingabe mit Datebankeintrag Datum vergleichen freakymiky PHP Tipps 2008 1 21.06.2008 15:49
ausgelesene Werte im Array vergleichen - Möglich!? vampsoftchef PHP Tipps 2006 2 22.08.2006 14:34
datum vergleichen LP PHP Tipps 2006 2 18.07.2006 15:12
Zwei Strings vergleichen Bunnydog PHP Tipps 2006 5 21.01.2006 14:10
[Erledigt] 2 Arrays miteinander vergleichen PHP Tipps 2007 3 17.12.2005 16:54
[Erledigt] Objekte vergleichen PHP-Fortgeschrittene 4 08.12.2005 16:20
[Erledigt] Mysql eintraege mit formular werten vergleichen Datenbanken 4 08.08.2005 00:33
[Erledigt] 2 verschiedene Datum vergleichen - Datenbankabfrage Datenbanken 3 19.06.2005 10:29
variablen vergleichen PHP Tipps 2005 18 18.05.2005 19:24
[Erledigt] Bilder vergleichen? PHP-Fortgeschrittene 7 20.04.2005 15:52
Formulardaten mit MySQL Datenfeld vergleichen PHP Tipps 2005 4 15.03.2005 20:15
Datenbankinhalt vergleichen PHP Tipps 2004-2 4 20.11.2004 21:42
Email adresse in der DB vergleichen PHP Tipps 2004-2 5 17.11.2004 15:56
Array Elemente einzeln vergleichen PHP Tipps 2004 2 20.10.2004 15:24
[Erledigt] Datum vergleichen PHP Tipps 2004 3 19.10.2004 12:09

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php date objekte vergleichen, wie kann man bei php daten vergleichen lassen, php date abgelaufen, unix datum vergleichen, datum vergleichen mysql, kann man datum miteinander vergleichen, datum vergleichen vor 1970, wie kann man das jahr vergleichen?, wie kann ich datum mit in vergleichen, php date object vergleichen, datum miteinander vergleichen php, wie kann ich datum vergleichen mit php, wie kann ich ein datum vergleichen, wie kann man datum vergleichen mit php, mysql alle datensätze iner halb zeitraum timestamp, 2 datums vergleichen mysql, php date miteinander vergleichen, unix timestamp miteinander vergleichen, mysql date miteinander vergleichen, mysql datums vergleichen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.