-1

我已经做了一个自定义页面,其中包含实际一周的计划,并且一周由今天定义。

我需要放置上一周和下周的链接,并且我想创建一个链接以使用 today'day + 7(下一个)或 -7(上一个)重新打开我的页面。

这是使用今天 var 定义的星期几的函数。

所以我需要在页面中创建一个链接以继续前一周(与 $today -7 相同的页面)和另一个在下周继续(与 $today +7 相同的页面)。

你能帮助我吗 ?多谢。

编辑:我尝试调整 Michal 的解决方案并删除我旧的便便功能以替换程序代码:

<?php 

date_default_timezone_set('Europe/Paris');

if (!empty($_GET['today'])) 
{
    $today = $_GET['today'];
}

else
{
    $today = Date('y-m-d'); 
}

$todayMinus7 = Date('y-m-d', strtotime("-7 days")); //set variable to last week (-7 days)
$todayPlus7 = Date('y-m-d', strtotime("+7 days"));  //set variable to next week (+7 days)


$my_date = $today; 
$week = date("W", strtotime($my_date)); // get week
$y =    date("Y", strtotime($my_date)); // get year

$first_date =  date('y-m-d',strtotime($y."W".$week)); //first date 
$second_date = date("y-m-d",strtotime("+1 day", strtotime($first_date)));

?>

<a href="get_day.php?today=<?php echo $todayPlus7; ?>">A Week Ago</a>

<?php   echo $first_date;  ?>

结果 :

现在,当我加载页面时,我得到了 first_date(星期一)18/10/08,没关系!

如果我点击链接,我有下一个星期一 18/10/15,没关系!

但是,如果我再次单击该链接(对于上一周的下一周继续),则没有任何变化(始终是 18/10/15 而不是 18/10/22)。

你有解决问题的想法吗?

非常感谢,

4

2 回答 2

1

我的页面上有类似的东西,我用日期创建了不同的变量,然后在需要时使用它们......所以创建:

<?php
$todayMinus7 = Date('y-m-d', strtotime("-7 days")); //set variable to last week (-7 days)
$today = Date('y-m-d');                             //set variable to today
$todayPlus7 = Date('y-m-d', strtotime("+7 days"));  //set variable to next week (+7 days)
$dayName = !empty($_GET['today']) ? date('l',$_GET['today']) : date('l',$today); ; //shorthand for IF today is set, get day name
?>

然后让你在需要它们的地方链接并将上面的变量添加到链接中,如下所示:

<a href="get_day.php?today=<?php echo $todayPlus7.'">'.$dayName;?></a>
于 2018-10-06T20:21:20.960 回答
0

所以我这样做了,效果很好:

<?php 
date_default_timezone_set('Europe/Paris');
if (!empty($_GET['today'])) 
{
    $today = $_GET['today'];
}
else
{
    $today = Date('Y-m-d'); 
}
$todayMinus7 = Date('Y-m-d', strtotime("-7 days", strtotime($today))); 
$todayPlus7 = Date('Y-m-d', strtotime("+7 days", strtotime($today)));  

$my_date = $today; 
$week = date("W", strtotime($my_date)); // get week
$y =    date("Y", strtotime($my_date)); // get year
$monday =  date('m-d-Y',strtotime($y."W".$week)); //first date 
$tuesday = date("m-d-Y",strtotime("+1 day", strtotime($monday)));
$wednesday = date("m-d-Y",strtotime("+2 day", strtotime($monday)));
$thursday = date("m-d-Y",strtotime("+3 day", strtotime($monday)));
$friday = date("m-d-Y",strtotime("+4 day", strtotime($monday)));
$saturday = date("m-d-Y",strtotime("+5 day", strtotime($monday)));
$sunday = date("m-d-Y",strtotime("+6 day", strtotime($monday)));
?>

<a href="get_day.php?today=<?php echo $todayMinus7; ?>">Semaine précédente</a>
<a href="get_day.php?today=<?php echo $todayPlus7; ?>">Semaine suivante</a>

<?php   echo $monday." <br/>".$tuesday." <br/>".$wednesday." <br/>".$thursday."  <br/>".$friday." <br/>".$saturday." <br/>".$sunday;  ?>

非常感谢米哈尔的帮助!

于 2018-10-08T02:27:02.037 回答