Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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_Sql_Date - Fatal编程技术网

Php 显示(日历)周的第一天和最后一天

Php 显示(日历)周的第一天和最后一天,php,sql,date,Php,Sql,Date,在我的数据库中,我有一个连续日期的表。我将所有日期分组为日历周,并将它们显示在CSS中的表格中 现在,我还想在表中显示日历周的第一天和最后一天。 这是我的密码: $statement = $pdo->prepare("SELECT WEEK(Date), Date FROM table GROUP BY WEEK(Date)"); $result = $statement->execute(); $count = 1; while($row

在我的数据库中,我有一个连续日期的表。我将所有日期分组为日历周,并将它们显示在CSS中的表格中

现在,我还想在表中显示日历周的第一天和最后一天。 这是我的密码:

$statement = $pdo->prepare("SELECT WEEK(Date), Date FROM table GROUP BY WEEK(Date)");
    $result = $statement->execute();
    $count = 1;
    while($row = $statement->fetch()) {
        echo "<tr>";
        echo "<td>".$row['WEEK(Date)']."</td>";
        echo "<td>".$row['Date']."</td>";
目前只显示日历周的第一天。 我想复制$row['Date']并添加+6天,但第一个数据集不是一周的第一天。因此,第一个日历周的第一个日期范围是错误的。 有人知道如何解决这个问题吗?

请参见此处的测试:


我是新来编码的,所以我不确定我是否理解你的代码是如何工作的。但现在如何显示显示的日历周的最后一天。目前仅显示一个日期,例如2021-05-16。我想这样显示:2021-05-16-2021-05-22。我更新了答案,解释了这些值是什么are@Gandalfthegrey-对不起,出了个错误。我更新了答案并提供了一个链接来说明它是有效的。@Gandalfthegrey你能告诉我$row['WEEKDate']等于多少吗?-给我举一个例子,这样我就可以更新我的例子链接,例如日历周,这是否回答了你的问题?
while($row = $statement->fetch()) {
$thedate = $row['Date'];
$dow = date('w', strtotime($thedate)); // the day of the week of the date - number based - zero is sunday
$dowsun = date('Y-m-d', (strtotime($thedate) - ($dow * 60*60*24))); // first day of that week (sunday)
$dowsat = date('Y-m-d', strtotime($thedate) + ((6-$dow) * 60*60*24)); // last day of that week (saturday)

/* for example:
   if $row['WEEK(Date)'] = "2021-06-08" which is a Tuesday
   $dowsun = "2021-06-06" which is a Sunday
   $dowsat = "2021-06-12" which is a Saturday
   with this answer you get the full week that contains the target date
*/
   echo "<tr>";
   echo "<td>".$row['WEEK(Date)']."</td>";
   echo "<td>".$row['Date']."</td>";