Mit einer einfachen mysqli_query retreive ich alle Aufgaben aus meiner Datenbank. Jede einzelne Aufgabe hat eine Frist. Ich möchte berechnen, wie viele Tage für jede einzelne Aufgabe übrig sind. Wenn das erledigt ist, möchte ich alle Aufgaben basierend auf den verbleibenden Tagen bestellen. Wie kann ich das erreichen? Ich habe dieses einfache Stück Code bekommen alle Aufgaben:Wie bestelle ich ein MySQL nach einer Zeile?
$sql = mysqli_query($mysqli, "SELECT * FROM tasks");
while($rows=mysqli_fetch_array($sql,MYSQLI_ASSOC)){
$deadline = $rows['deadline'];
$today = strtotime('now');
$date_diff = $deadline - $today;
echo $date_diff;
}
Aber wie kann ich sie von $ date_diff bestellen?
't SELECT. *, DATEDIFF (Tag, t.deadline, CURDATE()) AS DiffDate VON Aufgaben t ORDER BY DATEDIFF (Tag, 'Frist', CURDATE())' – Blinkydamo
Sie sortieren Ergebnisse in SQL mit 'ORDER BY'. Aber wollen Sie eigentlich * alle * Aufgaben in Ihrer Tabelle anzeigen, sogar vor Jahren erfüllte Aufgaben? Vielleicht möchten Sie eine 'WHERE'-Klausel hinzufügen. Es sollte ein Statusfeld in der Tabelle vorhanden sein, damit Sie abgeschlossene Aufgaben ausschließen können (da Aufgaben, die ihre Frist nicht bestanden haben, nicht unbedingt abgeschlossen sind). –