2009-10-19 24 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应该把它转变为一个时间戳您可以使用基于整数的比较。