關於如何使資料庫查詢的資料排序輸出
阿新 • • 發佈:2018-12-12
我在做專案的查詢功能時,遇到的第一個問題就是如何使多條資料同時輸出,此時我想到了使用陣列,但是輸出的結果確是這樣的:
$sql="select *from history where place='{$place}' "; $query=mysql_query($sql); while($row=mysql_fetch_object($query))//把資料庫中body寫入陣列 { $result[]=$row->body; } foreach ($result as $key => $value)//輸出陣列 { echo "$value<br>"; }
顯然這樣不按時間排序的結果讓使用者讀起來沒有邏輯性,所以在老師的指點下(還是資料庫知識欠缺的問題),發現只要加一行簡單的程式碼就可以讓輸出結果按照資料庫表單的某個屬性進行排序。
上圖是我的history表結構,如果我希望根據time進行排序只要把$sql="select *from history where place='{$place}' ;
改寫成$sql="select *from history where place='{$place}' ORDER BY time ASC";
(ASC為升序,DESC為降序),當然想根據其他屬性輸出只要寫成ORDER BY ‘what’ ASC,顯然後面這串ORDER程式碼非常好理解!此時輸出結果就按照時間順序輸出了。