用链接更改变量值

时间:2018-10-06 20:00:54

标签: php date pagination planning

我有一个自定义页面,其中包含实际星期的计划,并且星期由今天的一天定义。

我需要放置上一周和下一周的链接,我想创建一个链接以今天+ 7(下一个)或-7(上一个)重新打开我的页面。

这是具有今天var的星期几定义的功能。

所以我需要在页面上建立链接以进行上一周的访问(与$ today -7相同的页面),而在下周进行另一个链接(与$ today +7的相同页面)。

你能帮我吗?非常感谢。

编辑:我已经尝试调整Michal的解决方案,并删除旧的poo函数以替换过程代码:

<?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(星期一)是2008年10月18日,就可以了!

如果我按下链接,则下个星期一为15/10/15,那没关系!

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

您有解决问题的想法吗?

非常感谢

2 个答案:

答案 0 :(得分:2)

我的页面上有类似的内容,我用日期创建了不同的变量,然后在需要时使用它们... 因此创建:

<?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>

答案 1 :(得分: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;  ?>

非常感谢Michal的帮助!

相关问题