MySQL: Datum vergleichen

ultrasonic

Erfahrenes Mitglied
Hallo zusammen,
hoffe das ich heute am Sonnatag jemand erreiche der mir vieleicht helfen kann

ich sitze schon seit gestern an einem Problem für ein Terminsystem



Ich habe eine Tabelle StartSoll Datumswerten in Form vom
(werte können nicht verändert werden)
z.B
1 -->2003-12-31
2 -->2004-02-04
....
Nun geben Techniker Ihre StartIst werte ein
z.B.

1 -->2004-01-07
2 -->2004-02-06



Wie Ihr sehen könnt ist bei "1" eine Differrence von sieben Tagen und bei "2" eine von zwei Tagen.

Die Felder sind DATE

Wie kann ich jetzt beim auslesen der Tabelle abfragen ob die "StartIst" differenz >07 Tage bzw. 14 Tage sind.


Bitte bitte helft mir einer.
 
Zuletzt bearbeitet:
Es gibt sowas nettes wie to_days in Mysql = Anzahl der Tage seit 0

select * from termintabelle where (to_days(StartIst) - to_days(StartSoll)) > 7
 
Das hört sich doch schon mal gut an, melmager
Nur ein problem habe ich noch.

Das ist mein Select




PHP:
if($ros1 and $ros2)  $ergebnis = @mysql_query("SELECT * FROM tbl_workroutine 
WHERE  StartIst between '%$ros1%' and '%$ros2%' 
ORDER BY StartIst asc",$db)

Die Variablen §ros1 und $ros2 kommen von eine
Suchformular.

Sorry, ich habe nicht den blassesden Schimmer wie ich deine Abfrage
da reinbauen soll?
 
Zuletzt bearbeitet:
Habe dir noch mal nen Snapshot angehängt
die Felder bei StartIst werden durch

while ($daten = mysql_fetch_array($ergebnis)){
ausgelesen
 

Anhänge

  • demo.jpg
    demo.jpg
    9,6 KB · Aufrufe: 67
Ach so :)

PHP:
$ergebnis = @mysql_query("SELECT *,(to_days(StartIst) - to_days(StartSoll)) AS TAGE FROM tbl_workroutine 
WHERE  StartIst between '%$ros1%' and '%$ros2%' 
ORDER BY StartIst asc",$db);

while ($row = mysql_fetch_array($ergebnis)) {
 if  ($row['tage'] > 7) {
   if ($row['tage'] > 14) {
     echo "rot";
   else
     echo "gelb"
  }
}

als kleine Anregung :)
 
Zurück