Datum vergleichen mit PHP nicht mysql...

Gudy

Erfahrenes Mitglied
Hi,
folgendes Problem, ich habe eine Datenbank die ich mit SELECT QUERY abfrage, ich habe da auch ein Feld mit Datum im Format (2004-05-04)

jetzt müssen die datensätze die älter als 1,3 und 6 Monate sind farblich verschieden makiert werden.

Das makieren ist ja kein problem,aber ich weiss nicht wie ich das mit der abfrage machen soll.

Also das Datum wird bei der Eingabe von Benutzer eingegben.

THX
 
Original geschrieben von Gudy

Also das Datum wird bei der Eingabe von Benutzer eingegben.

Sind das nur bestimmte Benutzer oder kann das "jeder " etwas eintragen.
Im letzteren Fall sollte die Datumansgabe bei dem Eintrag festgelegt werden.
z.b. mit NOW() im mysql-query.
 
Eigentlich müsstest du das prima mit MySQL lösen können. Ich hab jetzt zwar die Syntax nicht ganz im Kopf, aber es müsste in etwa so funktionieren:

Ich gehe mal davon aus, dass ein Monat 30 Tage hat:

1 Monat = 30 Tage
3 Monate = 90 Tage
6 Monate = 180 Tage

Code:
SELECT 
  Id, 
  Datum, 
  IF((TO_DAYS(NOW())-TO_DAYS(Datum)) > 180; "6"; 
    IF((TO_DAYS(NOW())-TO_DAYS(Datum)) > 90; "3";
      IF((TO_DAYS(NOW())-TO_DAYS(Datum)) > 30; "1"; "0"))) 
  AS flag 
FROM 
  tabelle

Hab das nicht getestet. Aber falls es klappt müsste im Feld "flag" dann 0, 1, 3 oder 6 ... je nachdem ob es älter als die entsprechende Zahl ist.
 
IF((TO_DAYS(NOW())-TO_DAYS(Datum)) > 180; "6";


Kleine Verbesserung:

IF ((Datumsfeld > DATE_SUB(NOW(),INTERVAL 6 MONTH); "6"; usw
 
Zurück