PHP mysqli按日期排序的最近活动

时间:2015-09-01 15:40:00

标签: php mysql

我已经尝试过一些不同的方法来做到这一点,而其他人已经做了但我无法完成它。我有一个包含大量打印作业订单的数据库,我的网站上有一个打印订单TRACKER。在跟踪器页面上,我想通过显示上个月创建的所有打印作业来显示最近完成的活动。

我试图这样做而不会使它复杂化。

这里我只是尝试创建一个SQL查询,说明WHERE Date_Completed BETWEEN lastMonth&&今天。这是我尝试过的最新代码段之一(并非所有代码):

$date = new DateTime('now');
$today = $date->format('Y-m-d H:i:s');
$lastMonth = date_modify($date, "-1 month");
$result = $lastMonth->format('Y-m-d H:i:s');

SELECT * FROM other_card WHERE  Date_Completed BETWEEN '$today' AND '$result' order by Date_Completed");

任何信息都有帮助!我知道这些变量有点奇怪。只是试着让它发挥作用。

3 个答案:

答案 0 :(得分:0)

尝试构建查询,如:

SELECT * FROM other_card WHERE Date_Completed< '$ today'和Date_Completed> “$ result”订单由Date_Completed“);

答案 1 :(得分:0)

您无需在PHP中生成日期。 MySQL可以为你做到这一点:

SELECT ...
WHERE ... Date_Completed BETWEEN now() - interval 1 month AND now()

这也解决了一些边缘情况,其中PHP可能在一个月的最后一天晚上11:59:59生成日期,并且查询在下个月00:00:01之前不会实际执行。 / p>

答案 2 :(得分:-1)

  1. 在从较小到较大值的作品之间,而不是
  2. 你根本不需要介于两者之间,只需要Date_Completed>有些约会可以。
  3. 在旁注中,您应该使用预准备语句,而不是直接向查询添加值