PHP MySQL 查询以在上周周四至周三获得结果

标签 php mysql

我想查询上周从周四到周三的结果。

今天是 18 号,也就是星期日,用 PHP 来说是一周的第一天。我的代码不起作用,因为它在周日重新启动。我的 IF 语句不起作用,我的周修饰符(-1 周)也不起作用。每周应该从星期四到星期四,在星期三午夜结束。我得到的结果是今天的结果,但它应该回到上个星期四,减去 -1 周,然后提取上个星期四结束的结果。

它应该在这些日期之间提取数据 2015-1-8 至 2015-1-14

但它从 2015 年 1 月 15 日到 2015 年 1 月 21 日拉动并且不应该。

 <div class="subtitle">Last Week (12AM Thur to 12AM Thur)</div>
 <div class="totamt">$<?php  
   require_once 'wp-content/themes/azure-basic/connectvars.php';
   $dbc = mysqli_connect(CDB_HOST, CDB_USER, CDB_PASSWORD, CDB_NAME);

   /* Last Week */
     $twoWeeksAgoStart = new DateTime("Thursday last week");
     $twoWeeksAgoEnd = new DateTime("Wednesday");
     $today = new DateTime("now");
     $day = $today->format("1");

     if ($day == "Sunday" || $day == "Monday" || $day == "Tuesday" || $day == "Wednesday") {

     //This DOES NOT WORK from Sunday to Wednesday
     $twoWeeksAgoStart->modify("- 1 week");
     $twoWeeksAgoEnd->modify("- 1 week");

     } else {

     //This DOES actually works on Thursday through Saturday Night
     $twoWeeksAgoStart->modify("+7 days");   
     $twoWeeksAgoEnd->modify("- 1 week");
    }

  $startdates = $twoWeeksAgoStart->format( 'Y-m-d' );
  $enddates = $twoWeeksAgoEnd->format('Y-m-d');


 $query = "SELECT SUM(amountoffeeearned) as totalamount FROM commissioninfo WHERE thedate BETWEEN '$startdates' AND '$enddates'";

    $result = mysqli_query($dbc, $query);
    $row = mysqli_fetch_array($result);

 ?>

最佳答案

我做了一些简单的测试,我相信这可能对你有用:

if(date('N') == 4){
    $startdates = date("Y-m-d", strtotime("last Thursday"));
    $enddates = date("Y-m-d", strtotime("-1 day"));
}else{
    $startdates = date("Y-m-d", strtotime("last Thursday -1 week"));
    $enddates = date("Y-m-d", strtotime("last Thursday - 1 day"));
}

它检查今天是否是星期四,如果是则使用“上星期四”和当前日期 -1 天来获取星期几。其他任何一天,它都使用上周四 - 1 周和上周四 - 1 天来获取时间范围。就好像今天是 23 号星期五,在 PHP 的脑海中,上星期四是前一天(22 号),上星期四是前一周的星期四。

希望这有效并有所帮助!

关于PHP MySQL 查询以在上周周四至周三获得结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28014485/

相关文章:

php - Mysql根据一些数据创建一个表

php - 在多边形 PHP 中查找点

c# - 复制表也匹配 id

php - WooCommerce - 将产品类别添加到订单详细信息表

php - 如何在 PHP/MySQL 中替换重复项?

php - 如何选择与(姓名,姓氏)OR(姓氏,姓名)串联匹配的所有记录

mysql - 来自 Google CloudSQL 的错误 HTTP 响应

mysql - 如何从表中另一个字段的值更新字段的值?

mysql - 使用 if 条件过滤 SQL 查询

mysql - 使用vagrant安装Lamp Stack后如何设置数据库