用一個簡單的mysqli_query從我的數據庫中檢索所有任務。每個任務都有一個最後期限。我想計算每個單一任務剩下多少天。完成之後,我想根據剩下的日期排列所有任務。我怎樣才能做到這一點?我有這樣的一段簡單的代碼讓所有的任務:如何通過其中一行來訂購MySQL?
$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;
}
但我怎麼能由$ date_diff訂購它們?
'選擇T *,DATEDIFF(日,t.deadline,CURDATE())AS DiffDate FROM任務爲T ORDER BY DATEDIFF(日, '最後期限',CURDATE())' – Blinkydamo
您在排序結果具有'ORDER BY'的SQL。但是,你是否真的想顯示錶中存在的所有*任務,甚至是幾年前完成的任務?你可能想要添加一個'WHERE'子句。表中應該有一些狀態字段,所以你可以排除完成的任務(因爲任務已經過了截止日期並不一定完成)。 –