В моей системе есть календарь, а в верхней части календаря есть две кнопки «Следующая» и «Предыдущая», которые предназначены для получения года следующего месяца и года предыдущего месяца.
Текущий месяц сейчас — ноябрь 2015 года. Что я хочу, так это то, что если я нажму кнопку «Далее», то она перейдет к следующему месяцу, декабрю 2015 года, а если я нажму кнопку «предыдущая», то вернется к текущему месяцу, который является ноябрь 2015 года. Что происходит сейчас, если я нажимаю кнопку «Далее», то месяцем считается декабрь 2015 года, но если я нажимаю предыдущую кнопку, месяцем считается октябрь 2015 года [уменьшается на 1 по сравнению с текущим месяцем (ноябрем 2015 года), но не уменьшается на 1 по сравнению с декабрем 2015 года]
Есть идеи, чтобы решить это?
У меня есть только идея передать значение из первого утверждения (isset($_POST['next)']))
ко второму утверждению if (isset($_POST['previous)']))
,
это мой php код:
/*increment decrement day month year with different format. check it*/
$CurrentMonthyyyymm = date('Y-m');
$month_year_Current = date('F Y');
$totday = date('t');
$totdayLastMonth= date('t', strtotime("-1 month", strtotime($CurrentMonthyyyymm))); // eg: 31
$totdayNextMonth= date('t', strtotime("+1 month ", strtotime($CurrentMonthyyyymm)));
$month_year_Last = date('F Y', strtotime("-1 month", strtotime($CurrentMonthyyyymm))); // eg: December 2014
$month_year_Next = date('F Y', strtotime("+1 month", strtotime($CurrentMonthyyyymm)));
$LastMonthyyyymm= date('Y-m', strtotime("-1 month", strtotime($CurrentMonthyyyymm))); // eg: 2014-12
$NextMonthyyyymm= date('Y-m', strtotime("+1 month ", strtotime($CurrentMonthyyyymm)));
/****** day month year next previous *****/
if (isset($_POST['next']))
{
$_SESSION['i'] = isset($_SESSION['i']) ? ++$_SESSION['i'] : 1;
$increment1 = $_SESSION['i'];
$totday= date('t', strtotime("+$increment1 month ", strtotime($CurrentMonthyyyymm)));
$month_year_Next = date('F Y', strtotime("+$increment1 month", strtotime($CurrentMonthyyyymm)));
$NextMonthyyyymm= date('Y-m', strtotime("+$increment1 month ", strtotime($CurrentMonthyyyymm)));
}else{
unset($_SESSION['i']);
}
// $NextMonthyyyymm;
if (isset($_POST['previous']))
{
$_SESSION['d'] = isset($_SESSION['d']) ? ++$_SESSION['d'] : 1;
$decrement1 = $_SESSION['d'];
$totday= date('t', strtotime("-$decrement1 month ", strtotime($CurrentMonthyyyymm)));
$month_year_Last = date('F Y', strtotime("-$decrement1 month", strtotime($CurrentMonthyyyymm)));
$LastMonthyyyymm= date('Y-m', strtotime("-$decrement1 month", strtotime($CurrentMonthyyyymm)));
}else{
unset($_SESSION['d']);
}
Задача ещё не решена.
Других решений пока нет …