Ich versuche, eine Task-Tracking-Web-Anwendung zu erstellen, die eine Tabelle der aktuellen Aufgaben und deren Reihenfolge zeigt Fortschritt. Aufgaben werden in einer MySQL-Datenbank protokolliert. Von einigen anderen Fragen hier habe ich so weit gekommen, soweit wie „YYYY-MM-TT“ auf „yyyy-mm-dd“ mit dem folgenden Code vergleichen:PHP Vergleichen Sie "YYYY-MM-DD" mit Aufgabe Dringlichkeit Farbe Option (gelb/orange/rot ... Tabellenzelle)
$today = strtotime(date("Y-m-d")); // "2016-08-06"
$startDate = $row['start_date']; // "2016-08-04" from the database
if ($row['started'] == 1) { // database tinyINT is either "1" or "0"
if(strtotime($today) < strtotime($startDate)){
echo '<td class="green_tick" style="background-color:yellow;">✔</td>';
}
else{
echo '<td class="green_tick">✔</td>';
}
} else echo '<td></td>';
Ich möchte in der Lage sein zu geben, visuelle Anzeige einer überfälligen Aufgabe (nach Tabellenzellen-Hintergrundfarbe) im Vergleich zum heutigen Datum.
Wenn also eine Aufgabe als gestartet markiert ist ($ row ['started'] == 1), zeigt die Tabellenzelle nur einen grünen Haken an (& # 10004).
Wenn eine gestartete Aufgabe 2 Tage alt ist, lautet die Tabellenzelle mit dem grünen Häkchen style = "background-color: yellow" (zeigt an, dass ich mir vielleicht diese Aufgabe ansehen sollte).
Wenn eine gestartete Aufgabe 4 Tage alt ist, lautet die Tabellenzelle mit dem grünen Häkchen style = "background-color: orange" (was bedeutet, dass ich mich wirklich mit dieser Aufgabe befassen sollte).
Wenn eine gestartete Aufgabe 6 Tage alt ist, lautet die Tabellenzelle mit dem grünen Häkchen style = "background-color: red" (was bedeutet, dass ich mich ernsthaft mit dieser Aufgabe beschäftigen sollte, bevor die Dinge außer Kontrolle geraten).
Die Frage ist also, wie kann ich mehrere Datumsvergleiche für: $ heute, $ heute - 2 Tage, $ heute - 4 Tage und $ heute - 6 Tage?
Danke für alle Antworten, sie waren alle hilfreich. Ich endete mit dem folgenden:
$today = strtotime(date("Y-m-d"));
$startDate = strtotime($row['start_date']);
$diff = $today - $startDate;
if ($row['started'] == 1) {
if ($diff >= 172800 && $diff < 345600) {
echo '<td class="green_tick" style="background-color:yellow;">✔</td>';
}
elseif ($diff >= 345600 && $diff < 518400) {
echo '<td class="green_tick" style="background-color:orange;">✔</td>';
}
elseif ($diff >= 518400) {
echo '<td class="green_tick" style="background-color:red;">✔</td>';
}
else{
echo '<td class="green_tick">✔</td>';
}
} else echo '<td></td>';
Vielleicht nicht würdig eines Poesie Award, aber es funktioniert OK für mich. Obwohl dies die Antwort ist, zu der ich kam, um fair zu sein, wurde sie von Ideen aus den anderen Antworten abgeleitet.
kann ich fügen Sie hinzu, dass es sich lohnen könnte, das Symbol ebenfalls zu ändern - dies wird farbblinden Menschen helfen, die Unterschiede zu sehen. Etwas zu beachten? –
Darf ich Ryan als behinderten Mann seit 16 Jahren hinzufügen? Die Welt hört nicht auf und wartet auf Menschen mit Behinderungen. Der Grund, warum ich der schnellste einhändige Schreibkraft auf dem Gesicht des Planeten wurde, ist, weil ich das vor einigen Jahren begriffen habe. – MikeA