2009-10-19 62 views
0

我有一個名爲workorders的表的postgres數據庫。它是一個名爲date_out的列,其日期記錄爲2009-09-23。我想根據用戶日期範圍在php頁面中對這個表格數據進行排序,即按照日期開始2009-09-01結束2009-09-31對錶格進行排序。它爲我爲我的公司創建的帳戶包。無論如何,我可以做到這一點。我可以連接到我的數據庫,但不知道如何對數據進行排序。我也可以限制視圖的數量來說15行,然後到下一頁?感謝任何能夠幫助我的人。通過數組在php中排序postgres表數據

回答

2

我不知道爲什麼你需要PHP,因爲這是一個工作,這Postgres的可以輕鬆處理:

SELECT 
    visitdate 
FROM 
    public.statistics 
WHERE 
    visitdate 
     between date '2009-10-19' and date '2009-10-20' 
ORDER BY 
    visitdate 
OFFSET 2 
LIMIT 3; 
+0

謝謝。我需要它在PHP中,因爲我的程序通過我的apache服務器運行,所以我可以在任何地方訪問它。正如我所說,我對postgres的知識非常少。我如何在PHP中實現你的建議?謝謝 – russell 2009-10-19 20:13:52

+0

我不是一個PHP程序員,但我想你可能想從這樣的事情開始:http://www.designmagick.com/article/10/Starting-Out/Retrieving-Data-from-your-數據庫 – p3t0r 2009-10-20 05:22:04

0

我建議通過SQL(ORDER BY子句)對行進行排序。這將是最有效的方式,特別是如果date_out列被索引。

+0

$ date = $ _POST ['date']; $ query =「SELECT * from workorders WHERE closed ='Y'ORDER BY date_out'$ date'」; – russell 2009-10-19 19:55:27

+0

這是我的排序代碼。我有另一個頁面要求輸入日期並將其發佈到此頁面。當我運行它時,它表示###錯誤:在ORDER BY中的非整數常量在/var/www/company/accounts/sales.php在線31 – russell 2009-10-19 19:57:14

+0

我是一個完整的新手在postgres。對不起;) – russell 2009-10-19 19:57:49

0

雖然你真的應該通過SQL做到這一點,PHP的strtotime應該把它轉變爲一個時間戳您可以使用基於整數的比較。