jakebur01 Posted February 23, 2009 Share Posted February 23, 2009 I have 161 events in a mysql table that need to be displayed on different days in my calendar script. I need to be able to use this same calculation for other parts of my site so every page will be consistent in using the same event. Ex. Something like..... $eventpick= $month + $month + $day ' 3 + 3 + 3 ' ///// $eventpick would then equal 9 if the date is the third of march. Then SELECT from event table where event = 9 to display the event for the day. <?php //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 zero switch($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) ; //Here we start building the table heads echo "<table border=1 class=standard width=530 height=250>"; echo "<tr><th colspan=7> $title $year </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 days while ( $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, untill we've done all of them in the month while ( $day_num <= $days_in_month ) { if($day==$day_num){ echo "<td class=today>$day_num </td>"; $day_num++; $day_count++;} else { echo "<td>$day_num </td>"; $day_num++; $day_count++; } //Make sure we start a new row every week if ($day_count > 7) { echo "</tr><tr>"; $day_count = 1; } } //Finaly we finish out the table with some blank details if needed while ( $day_count >1 && $day_count <=7 ) { echo "<td> </td>"; $day_count++; } echo "</tr></table>"; Link to comment https://forums.phpfreaks.com/topic/146560-event-calculation/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.