我從數據庫中獲取數據,並將其排序到數組中。從查詢(其被顯示在正確的順序)在不改變排序順序的情況下對數組進行排序
數據:
id task_id note date_created user_name document_name document_type
238 131 3g 1385563455 Admin doc3 jpg
238 131 3g 1385563455 Admin doc2 png
238 131 3g 1385563455 Admin doc1 png
240 131 sd 1385563536 Admin NULL NULL
241 131 sd 1385563565 Admin NULL NULL
242 131 qw 1385563612 Admin NULL NULL
然後我獲取數據並將其存儲在一個陣列:
$all_notes = array();
foreach($notes as $note) {
$all_notes[$note["id"]]["text"] = $note["note"];
$all_notes[$note["id"]]["user_name"] = $note["user_name"];
$all_notes[$note["id"]]["date"] = $note["date_created"];
$all_notes[$note["id"]]["task_id"] = $_POST['task_id'];
$all_notes[$note["id"]]["docs"]["document_name"][] = $note["document_name"];
$all_notes[$note["id"]]["docs"]["document_type"][] = $note["document_type"];
}
當我呼應$ all_notes數組,排序順序現在完全相反。而不是第一行數據是id 238,現在是242.即使當我改變查詢以相反的方式排序時,數組仍然將數據從238排序到242(而不是242到238,這就是它應該)。
您的幫助將不勝感激!
在查詢中,我是否添加「ORDER BY notes.date_created DESC」或「ORDER BY notes.date_created ASC」,數組將始終以相反的順序輸出。 – steeped
如果您真的想要結果翻轉......爲什麼不按ID編號?您可以按照您知道的多個列進行排序 - 您可以先按ID排序,然後按date_created排序。 – Darius
同樣的問題。這是我的查詢:「SELECT notes。*,users.name as'user_name',documents.name as'document_name',documents.ext as'document_type' FROM users,notes LEFT JOIN documents on notes.id = documents.note_id WHERE task_id =?AND notes.assigned_user_id = users.id ORDER BY id ASC「 – steeped