3 个月订单价值小于 1 个月订单价值

3 months order value is less than 1 month order value

提问人:Shaun 提问时间:11/9/2023 更新时间:11/9/2023 访问量:25

问:

我有一个报告结构,我们根据特定时间段检索订单值。使用存储的过程从数据库中获取数据。在前端:这是我编程的:

    $curPage = $this->getRequest()->getParam('curPage', null);
    $numPerPage = $this->getRequest()->getParam('numPerPage', null);
    $search = $this->getRequest()->getParam('search', '');
    $period = $this->getRequest()->getParam('period', '');
        $index = $this->getRequest()->getParam('index', 1);

    $labels = [];
    $dataArr = [];
    $data = [];
    $colors = [];
    $startDate = '2017-01-01';
    $endDate = date('Y-m-d');
    if ($period == 'LM') {
      $now = date_create(date('Y-m-d'));
      $period = date('Y-m-d', strtotime('-' . '90' . ' days'));
      $startDate1 = date('Y-m-d', strtotime("first day of -1 month"));
      $endDate = date('Y-m-d', strtotime("last day of -1 month"));
      $p = intval(90);
    } else if ($period == 'PM') {
      $now = date_create(date('Y-m-d'));
      $period = date('Y-m-d', strtotime('-' . '90' . ' days'));
      $startDate1 = date('Y-m-d', strtotime("first day of -2 month"));
      $endDate = date('Y-m-d', strtotime("last day of -2 month"));
      $p = intval(90);
    } else if ($period == 'TM') {
      $now = date_create(date('Y-m-d'));
      $period = date('Y-m-d', strtotime('-' . '90' . ' days'));
      $startDate1 = date('Y-m-d', strtotime("first day of this month"));
      $endDate = date('Y-m-d', strtotime("last day of this month"));
      $p = intval(90);`

现在,当我检查过去 90 天的报告时,它显示的订单价值低于 LM(上个月)报告。

我在编程方面非常陌生,并且卡在根据所选日期范围修复数据中的错误时陷入困境。任何帮助将不胜感激。

PHP 数据库 SQL-SERVER-2000

评论

0赞 Adi 11/9/2023
您可以尝试使用类对象来实现更高的精度,如果您仍然希望使用,我相信您可以像 和 一样实现它。另外,你在哪里使用,你可以摆脱它DateTimestrtotime$endDate = date('Y-m-d', strtotime("first day of this month") - 1);$startDate = date('Y-m-d', strtotime("-1 month", strtotime($endDate)));$now
0赞 Shaun 11/9/2023
嘿,非常感谢你的建议。我会尝试一下,看看它是否有效。
1赞 Paul Allsopp 11/9/2023
实际日期计算在哪里?代码所做的只是设置变量。从 IF 语句($now 和 $period)中删除重复行,并将它们移到上方或下方。int 的 intval 是 int,所以它是多余的,只需设置 $p = 90 即可。一旦你这样做了,你的大脑就会更快乐。问题出在您的数据计算中,您尚未共享。

答: 暂无答案