cturner Posted November 14, 2006 Share Posted November 14, 2006 My calendar code does not display the next or previous month by clicking on the next and previous links. Can someone please look at my code that is below and tell me why this happening? Thanks in advance.[code=php:0]//This gets today's date$date = time();//This puts the day, month, and year in seperate variables$day = date('d', $date);$month = date('m', $date);$year = date('Y', $date);//Here we generate the first day of the month$first_day = mktime(0,0,0,$month, 1, $year);//This gets us the month name$title = date('F', $first_day);//Here we find out what day of the week the first day of the month falls on$day_of_week = date('D', $first_day);//Once we know what day of the week it falls on, we know how many blank days occure before it. If the first day of the week is a Sunday then it would be zeroswitch($day_of_week){case "Sun": $blank = 0; break;case "Mon": $blank = 1; break;case "Tue": $blank = 2; break;case "Wed": $blank = 3; break;case "Thu": $blank = 4; break;case "Fri": $blank = 5; break;case "Sat": $blank = 6; break;}//We then determine how many days are in the current month$days_in_month = cal_days_in_month(0, $month, $year);// next and previous links$previous_link = "<a href=\"".$_SERVER['PHP_SELF']."?date=";if ($month == 1) { $previous_link .= mktime(0,0,0,12,$day,($year-1));} else { $previous_link .= mktime(0,0,0,($month -1),$day,$year);}$previous_link .= "\"><< Prev</a>";$next_link = "<a href=\"".$_SERVER['PHP_SELF']."?date=";if($month == 12){ $next_link .= mktime(0,0,0,1,$day,($year + 1));} else { $next_link .= mktime(0,0,0,($month +1),$day,$year);}$next_link .= "\">Next >></a>";//Here we start building the table headsecho "<table border=1 width=294>";echo "<tr><th colspan=7>$previous_link $title $year $next_link</th></tr>";echo "<tr><td width=42>S</td><td width=42>M</td><td width=42>T</td><td width=42>W</td><td width=42>T</td><td width=42>F</td><td width=42>S</td></tr>";//This counts the days in the week, up to 7$day_count = 1;echo "<tr>";//first we take care of those blank dayswhile ( $blank > 0 ){echo "<td></td>";$blank = $blank-1;$day_count++;}//sets the first day of the month to 1$day_num = 1;//count up the days, until we've done all of them in the monthwhile ( $day_num <= $days_in_month ){echo "<td><a href=booked.php?entry_date=$day_num&entry_month=$title>$day_num</a></td>";$day_num++;$day_count++;//Make sure we start a new row every weekif ($day_count > 7){echo "</tr><tr>";$day_count = 1;}}//Finally we finish out the table with some blank details if neededwhile ( $day_count >1 && $day_count <=7 ){echo "<td> </td>";$day_count++;}echo "</tr></table>";[/code] Link to comment https://forums.phpfreaks.com/topic/27283-calendar-problem/ Share on other sites More sharing options...
Psycho Posted November 15, 2006 Share Posted November 15, 2006 Simple, you have hard coded the values for $date at the top of the script to be todays date. You are not utilizing the value passed in the link.Set $date using this:$date = (isset($_GET['date']))?$_GET['date']:time(); Link to comment https://forums.phpfreaks.com/topic/27283-calendar-problem/#findComment-124769 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.