Hi,
I've been hitting my head against a wall trying to figure out how to make every event that is rendered on the calendar change color based on the value of "ad_type" which is stored in a mysql database that's currently connected to this calendar. It works fine with loading the events for the calendar, so i know it's connecting to the DB I just can't get it to change the color of the event based on the value in the DB.
The IF statement (which is at about line 40 in the php code i've included below) that I have that is supposed to be doing that is always executing to false, so i think the problem may have something to do with correctly getting that variable from the DB. Any help would be greatly appreciated, thank you!
I've been hitting my head against a wall trying to figure out how to make every event that is rendered on the calendar change color based on the value of "ad_type" which is stored in a mysql database that's currently connected to this calendar. It works fine with loading the events for the calendar, so i know it's connecting to the DB I just can't get it to change the color of the event based on the value in the DB.
The IF statement (which is at about line 40 in the php code i've included below) that I have that is supposed to be doing that is always executing to false, so i think the problem may have something to do with correctly getting that variable from the DB. Any help would be greatly appreciated, thank you!
PHP:
<?php
/* draws a calendar */
function draw_calendar($month,$year,$events = array()){
/* draw table */
$calendar = '<table cellpadding="0" cellspacing="0" class="calendar">';
/* table headings */
$headings = array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
$calendar.= '<tr class="calendar-row"><td class="calendar-day-head">'.implode('</td><td class="calendar-day-head">',$headings).'</td></tr>';
/* days and weeks vars now ... */
$running_day = date('w',mktime(0,0,0,$month,1,$year));
$days_in_month = date('t',mktime(0,0,0,$month,1,$year));
$days_in_this_week = 1;
$day_counter = 0;
$dates_array = array();
/* row for week one */
$calendar.= '<tr class="calendar-row">';
/* print "blank" days until the first of the current week */
for($x = 0; $x < $running_day; $x++):
$calendar.= '<td class="calendar-day-np">Â </td>';
$days_in_this_week++;
endfor;
/* keep going with days.... */
for($list_day = 1; $list_day <= $days_in_month; $list_day++):
$calendar.= '<td class="calendar-day"><div style="position:relative;height:100px;">';
/* add in the day number */
$calendar.= '<div class="day-number">'.$list_day.'</div>';
$event_day = $year.'-'.$month.'-'.$list_day;
if(isset($events[$event_day])) {
foreach($events[$event_day] as $event) {
$query = "SELECT ad_type, DATE_FORMAT(display_date,'%Y-%m-%e') AS event_date FROM paidads WHERE display_date LIKE '$year-$month%'";
if (($row['ad_type']) == 'sidebar'){
$calendar.='<div class="event" style="background-color:#FFb2b2;">'.$event['title'].'</div>';
}
elseif (($row['ad_type']) == '728x90') {
$calendar.='<div class="event" style="background-color:#b2b2ff;">'.$event['title'].'</div>';
}
else {
$calendar.='<div class="event" style="background-color:#ff99ff;">'.$event['title'].'</div>';
}
/* OLD $calendar.= '<div class="event">'.$event['title'].'</div>';*/
}
}
else {
$calendar.= str_repeat('<p>Â </p>',2);
}
$calendar.= '</div></td>';
if($running_day == 6):
$calendar.= '</tr>';
if(($day_counter+1) != $days_in_month):
$calendar.= '<tr class="calendar-row">';
endif;
$running_day = -1;
$days_in_this_week = 0;
endif;
$days_in_this_week++; $running_day++; $day_counter++;
endfor;
/* finish the rest of the days in the week */
if($days_in_this_week < 8):
for($x = 1; $x <= (8 - $days_in_this_week); $x++):
$calendar.= '<td style="background-color:#ffffff;" class="calendar-day-np">Â </td>';
endfor;
endif;
/* final row */
$calendar.= '</tr>';
/* end the table */
$calendar.= '</table>';
/** DEBUG **/
$calendar = str_replace('</td>','</td>'."\n",$calendar);
$calendar = str_replace('</tr>','</tr>'."\n",$calendar);
/* all done, return result */
return $calendar;
}
function random_number() {
srand(time());
return (rand() % 7);
}
/* date settings */
$month = (int) ($_GET['month'] ? $_GET['month'] : date('m'));
$year = (int) ($_GET['year'] ? $_GET['year'] : date('Y'));
/* select month control */
$select_month_control = '<select name="month" id="month">';
for($x = 1; $x <= 12; $x++) {
$select_month_control.= '<option value="'.$x.'"'.($x != $month ? '' : ' selected="selected"').'>'.date('F',mktime(0,0,0,$x,1,$year)).'</option>';
}
$select_month_control.= '</select>';
/* select year control */
$year_range = 7;
$select_year_control = '<select name="year" id="year">';
for($x = ($year-floor($year_range/2)); $x <= ($year+floor($year_range/2)); $x++) {
$select_year_control.= '<option value="'.$x.'"'.($x != $year ? '' : ' selected="selected"').'>'.$x.'</option>';
}
$select_year_control.= '</select>';
/* "next month" control */
$next_month_link = '<span style="width:230px; padding-left:500px; text-align: right; font-size:16px; font-weight:bold;"><a href="?month='.($month != 12 ? $month + 1 : 1).'&year='.($month != 12 ? $year : $year + 1).'" class="control">Next >></a></span>';
echo '<h3 style="text-align:center; padding-right:30px;">'.date('F',mktime(0,0,0,$month,1,$year)).' '.$year.'</h3>';
/* "previous month" control */
$previous_month_link = '<span style="width:230px; padding-left: 170px; font-size:16px; font-weight:bold;"><a href="?month='.($month != 1 ? $month - 1 : 12).'&year='.($month != 1 ? $year : $year - 1).'" class="control"><< Previous</a></span>';
/* bringing the controls together */
$controls = '<form method="get">'.$previous_month_link.''.$next_month_link.' </form>';
/* get all events for the given month */
$ad_type = $_POST['ad_type'];
$month = str_pad($month,2,'0', STR_PAD_LEFT);
$events = array();
$query = "SELECT ad_name AS title, ad_type, DATE_FORMAT(display_date,'%Y-%m-%e') AS event_date, ad_type FROM paidads WHERE display_date LIKE '$year-$month%'";
echo "<br/>";
$result = mysql_query($query,$db_link) or die('Cannot get Results!');
while($row = mysql_fetch_assoc($result)) {
$events[$row['event_date']][] = $row;
}
echo '<div style="float:left;">'.$controls.'</div>';
echo '<div style="clear:both;"></div>';
echo draw_calendar($month,$year,$events);
echo '<br /><br />';
?>