Изменить значение переменной с помощью ссылки

У меня есть пользовательская страница с планированием текущей недели, а неделя определяется сегодняшним днем.

Мне нужно поставить ссылку на предыдущую и следующую неделю, и я хочу сделать ссылку, чтобы снова открыть мою страницу с сегодняшним днем ​​+ 7 (для следующей) или -7 (для предыдущей).

Это функция для определенных дней недели с текущим днем ​​var.

Поэтому мне нужно сделать ссылку на странице, чтобы перейти на предыдущую неделю (та же страница с $ сегодня -7), а другую, чтобы перейти на следующей неделе (та же страница с $ сегодня +7).

Вы можете мне помочь ? большое спасибо.

РЕДАКТИРОВАТЬ: Я попытался адаптировать решение Михала и удалить мою старую функцию пу для замены процедурного кода:

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

У вас есть идея для решения проблемы?

Большое спасибо,

0

Решение

У меня есть что-то похожее на моей странице, я создал различные переменные с датами, а затем просто использую их, когда мне нужно …
Итак, создайте:

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

Другие решения

Так что я должен сделать это, и это прекрасно работает:

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

Большое спасибо, Михал, за вашу помощь!

0

По вопросам рекламы [email protected]