【发布时间】:2015-01-18 20:27:40
【问题描述】:
我正在尝试查询上周从周四到周三的结果。
今天是 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);
?>
【问题讨论】:
-
你能澄清一下吗?例如,“上周”应该在哪一天更改?例如,在即将到来的星期四,最后一周应该是 15 号到 21 号吗?
-
我需要前一周的结果。 8日至14日。
-
但是当我们过了星期天时,它似乎发生了变化。它开始新的一周,从 15 日到 21 日。应该在前一周待到周三晚上。