Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 仅从数据库中获取上周的结果_Php_Mysql - Fatal编程技术网

Php 仅从数据库中获取上周的结果

Php 仅从数据库中获取上周的结果,php,mysql,Php,Mysql,我正在使用这个php。它正在帮助我处理数据库 所以一个名为:词汇表的表有一行名为:datetime\u上传 示例结果:2018-08-31-11-13-05 现在我只想从这个php类的数据库中获得上周的结果 我上星期有个活动 function getLastWeekDates() { $lastWeek = array(); $prevMon = abs(strtotime("previous monday"));

我正在使用这个php。它正在帮助我处理数据库

所以一个名为:
词汇表
的表有一行名为:
datetime\u上传

示例结果:2018-08-31-11-13-05

现在我只想从这个php类的数据库中获得上周的结果

我上星期有个活动

function getLastWeekDates()      
       {
          $lastWeek = array();

          $prevMon = abs(strtotime("previous monday"));
          $currentDate = abs(strtotime("today"));
          $seconds = 86400; //86400 seconds in a day

          $dayDiff = ceil( ($currentDate-$prevMon)/$seconds );

          if( $dayDiff < 7 )
          {
              $dayDiff += 1; //if it's monday the difference will be 0, thus add 1 to it
              $prevMon = strtotime( "previous monday", strtotime("-$dayDiff day") );
          }

          $prevMon = date("Y-m-d",$prevMon);

          // create the dates from Monday to Sunday
          for($i=0; $i<7; $i++)
          {
              $d = date("Y-m-d-H-i-s", strtotime( $prevMon." + $i day") );
              $lastWeek[]=$d;
          }

          return $lastWeek;
      }
但我不知道如何从数据库中获取这些信息


我的php版本是7.x

这将返回上周(过去7天)的记录:


你读过你使用的mysql类的文档了吗?有一个带有BEVERY where子句的查询可以帮助您。“选择词汇表。*从词汇表v where v.datetime_上传>“$lastWeek[0]”因为我第一次看php,所以无法完成,所以我在这里发布了问题。
(
    [0] => 2018-08-27-00-00-00
    [1] => 2018-08-28-00-00-00
    [2] => 2018-08-29-00-00-00
    [3] => 2018-08-30-00-00-00
    [4] => 2018-08-31-00-00-00
    [5] => 2018-09-01-00-00-00
    [6] => 2018-09-02-00-00-00
)
SELECT * FROM vocabulary
WHERE datetime_uploaded >= curdate() - INTERVAL DAYOFWEEK(curdate())+6 DAY
AND datetime_uploaded < curdate() - INTERVAL DAYOFWEEK(curdate())-1 DAY
SELECT * FROM vocabulary
WHERE datetime_uploaded BETWEEN "2011-05-15" AND "2011-05-21"
SELECT *
FROM table
WHERE DATE(date + INTERVAL (YEAR(NOW()) - YEAR(date)) YEAR)
      BETWEEN
      DATE(NOW() - INTERVAL WEEKDAY(NOW()) DAY)
      AND
      DATE(NOW() + INTERVAL 6 - WEEKDAY(NOW()) DAY);