【问题标题】:sort postgres table data in php through array通过数组对php中的postgres表数据进行排序
【发布时间】:2025-12-20 12:40:11
【问题描述】:

我有一个带有名为 workorders 的表的 postgres 数据库。其中有一个名为 date_out 的列,其中记录的日期类似于 2009-09-23。我想根据用户日期范围在 php 页面中对表数据进行排序,即按日期对表进行排序,从 2009 年 9 月 1 日到 2009 年 9 月 31 日。它适用于我为我的公司创建的帐户包。无论如何我可以做到这一点。我可以连接到我的数据库,但不知道如何对数据进行排序。我也可以将查看次数限制为 15 行,然后进入下一页吗?感谢任何可以帮助我的人。

【问题讨论】:

    标签: php sql postgresql


    【解决方案1】:

    我不确定你为什么需要 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;
    

    【讨论】:

    • 谢谢。我需要它在 php 中,因为我的程序通过我的 apache 服务器运行,所以我可以在任何地方访问它。正如我所说,我对 postgres 的了解非常少。我怎样才能在 php 中暗示你的建议?谢谢
    • 我不是 PHP 程序员,但我认为您可能希望从以下内容开始:designmagick.com/article/10/Starting-Out/…
    【解决方案2】:

    我建议通过 SQL(ORDER BY 子句)对行进行排序。这将是最有效的方法,特别是在对 date_out 列进行索引的情况下。

    【讨论】:

    • $date = $_POST['date']; $query = "SELECT * from workorders WHERE closed='Y' ORDER BY date_out '$date'";
    • 这是我的排序代码。我有另一个页面询问日期并将其发布到此页面。当我运行它时,它显示 ###ERROR: non-integer constant in ORDER BY in /var/www/company/accounts/sales.php 第 31 行
    • 我是 postgres 的新手。对不起;)
    【解决方案3】:

    虽然您确实应该通过 SQL 执行此操作,但 php 的 strtotime 应该将其转换为可用于基于整数的比较的时间戳。

    【讨论】: