# Datum vergleichen mit PHP nicht mysql...



## Gudy (4. Mai 2004)

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


----------



## rbb (4. Mai 2004)

> _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.


----------



## Gudy (4. Mai 2004)

Es kann jeder eingeben, denn das Datum muss nicht unbedungt heute sein!


----------



## Karl Förster (4. Mai 2004)

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


```
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.


----------



## melmager (4. Mai 2004)

IF((TO_DAYS(NOW())-TO_DAYS(Datum)) > 180; "6"; 


Kleine Verbesserung:

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


----------

