Календарь PHP - проблема с любым другим месяцем, кроме текущего месяца - PullRequest
2 голосов
/ 29 сентября 2010

Я создаю свое первое приложение, для которого требуется календарь.У меня это отлично работает на текущий месяц.Моя проблема в том, что я не уверен, как сделать так, чтобы, когда пользователь нажимает на ссылку, чтобы перейти к следующему месяцу, он будет отображаться в следующем месяце.

Я постараюсь опубликовать только необходимый код, так что вот мои переменные

//gets todays date
$date = time();

//This puts the day, month, and year in separate variables
$day = date('d', $date);
$month = date('m', $date);
$year = date('y', $date);
$bigYear = date('Y', $date);
$first_day = mktime(0, 0, 0, $month, 1, $year);             //we need to generate the first day of the month
$month_name = date('F', $first_day);                        //get the current month's full spelling
$day_of_week = date('D', $first_day);                       //find out what day of the week the first day of the month falls on
$prevM = getDate(mktime(0, 0, 0, $month-1, 1, $year));      //gets an associative array of the previous month
$nextM = getDate(mktime(0, 0, 0, $month+1, 1, $year));      //gets an associative array of the next month
$prevMonth = $prevM['month'];                               //gets the actual previous month's name
$nextMonth = $nextM['month'];                               //gets the actual next month's name
$day_count = 1;                                             //counts the days up to 7 so we know when to start a new week
$day_num = 1;                                               //counter for the total number of days in the month

и вот мои ссылки, которые должны привести вас к следующему и предыдущему месяцам

echo "<th colspan=2 class=\"noBorder\"><a href='{$_SERVER['PHP_SELF']}?currentpage=$prevMonth'>&laquo;</a></th>";
echo "<th colspan=3 class=\"noBorder\"><strong>$month_name</strong></th>";
echo "<th colspan=2 class=\"noBorder\"><a href='{$_SERVER['PHP_SELF']}?currentpage=$nextMonth'>&raquo;</a></th>";

Ответы [ 2 ]

1 голос
/ 29 сентября 2010

Попробуйте это:

$date = empty($_GET['currentpage']) ? time() : strtotime($_GET['currentpage']);

И

$prevMonth = "{$prevM['year']}-{$prevM['mon']}";
$nextMonth = "{$nextM['year']}-{$nextM['mon']}";
1 голос
/ 29 сентября 2010

Что-то вроде:

$date = empty($_GET['currentpage']) ? time() : $_GET['currentpage'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...