Guten Morgen,
sitze seit längerem an einem Skript, welches täglich aufgerufen werden soll und entsprechend beurteilen soll, ob das Datum abgelaufen oder noch gut ist.
Leider erhalte ich immer falsche Ergebnisse und möchte euch daher gerne um Hilfe bitten, eventuell wisst ihr, was ich hier falsch mache oder könnt mir eine bessere Lösung vorschlagen.
Vorab, was gemacht werden soll:
Heutiges Datum wird überprüft mit dem Fälligkeitsdatum (hier im Code erstmal nur ein Testdatum). Jetzt werden alle Fälligkeitsstufen ausgelesen und die Intervalle und dann beurteilt, welcher Stufe das Datum entspricht.
Hier aber das Problem, es stimmt nicht überein, ich erhalte immer falsche Ergebnisse. Wieso das so ist und wie genau, weiß ich nicht. Habe inzwischen mehrere Versionen geprüft, hier mal eine.
Vorher aber noch die Fälligkeitsstufen, welche aus der DB dynamisch ausgelesen werden. (siehe Anhang).
Und hier ein Code, welcher aber falsch auswertet:
Es soll ausgewertet werden, in welcher Fälligkeitsstufe sich das Datum befindet im Bezug auf das heutige Datum.
Ich danke im Voraus!
sitze seit längerem an einem Skript, welches täglich aufgerufen werden soll und entsprechend beurteilen soll, ob das Datum abgelaufen oder noch gut ist.
Leider erhalte ich immer falsche Ergebnisse und möchte euch daher gerne um Hilfe bitten, eventuell wisst ihr, was ich hier falsch mache oder könnt mir eine bessere Lösung vorschlagen.
Vorab, was gemacht werden soll:
Heutiges Datum wird überprüft mit dem Fälligkeitsdatum (hier im Code erstmal nur ein Testdatum). Jetzt werden alle Fälligkeitsstufen ausgelesen und die Intervalle und dann beurteilt, welcher Stufe das Datum entspricht.
Hier aber das Problem, es stimmt nicht überein, ich erhalte immer falsche Ergebnisse. Wieso das so ist und wie genau, weiß ich nicht. Habe inzwischen mehrere Versionen geprüft, hier mal eine.
Vorher aber noch die Fälligkeitsstufen, welche aus der DB dynamisch ausgelesen werden. (siehe Anhang).
Und hier ein Code, welcher aber falsch auswertet:
PHP-Quellcode
- $testdate = ""; //hier das Datum im Y-m-d Format
- $getStates = $db->query("SELECT stateName, stateBegin FROM dueDates ORDER BY stateBegin ASC")->fetchAll();
- foreach($getStates as $state){
- if($state['stateBegin'] >= 0){
- if($testdate <= date('Y-m-d', strtotime($today . " +" . $state['stateBegin'] . " days"))){
- $status = $state['stateName'];
- }
- }else{
- if($testdate >= date('Y-m-d', strtotime($today . " " . $state['stateBegin'] . " days"))){
- $status = $state['stateName'];
- }
- }
- }
- echo $status;
Es soll ausgewertet werden, in welcher Fälligkeitsstufe sich das Datum befindet im Bezug auf das heutige Datum.
Ich danke im Voraus!