Forum Moderators: coopster
I've got this calender where by when you click on a particular date it displays the daily stats for that day. However when you when goto the next month and click on a day to retrieve the stats it goes back to May.
I think the problem lies when it uses getdate(). I've tried passing some values but I can't figure it out how to get pass the getdate().
Hope this makes sense....
Here's the code:
// Check for a Month Change submission
if ($submit)
{
// Subtract one from the month for previous, add one for next
if ($submit == "Prev")
{
$month_now--;
}
else
{
$month_now++;
}
$date = getdate(mktime(0,0,0,$month_now,1,$year_now));
}
else
{
// I think this is where the problem may lie
$date = getdate();
}
$month_num = $date["mon"];
$month_name = $date["month"];
$year = $date["year"];
$date_today = getdate(mktime(0,0,0,$month_num,1,$year));
$first_week_day = $date_today["wday"];
$cont = true;
$today = 27;
while (($today <= 32) && ($cont))
{
$date_today = getdate(mktime(0,0,0,$month_num,$today,$year));
if ($date_today["mon"]!= $month_num)
{
$lastday = $today - 1;
$cont = false;
}
$today++;
}
<!-- START CALENDER -->
<form action="callback_cal.php" method="POST" name="calendar">
<input type="hidden" name="month_now" value=<? echo $month_num?>>
<input type="hidden" name="year_now" value=<? echo $year?>>
<table width="200">
<tr>
<td><input type="submit" name="submit" style="BACKGROUND-COLOR: #663399; color: #FFFFFF; font-weight: bold" value="Prev"></td>
<td align="right"><input type="submit" name="submit" style="BACKGROUND-COLOR: #663399; color: #FFFFFF; font-weight: bold"value="Next"></td>
</tr>
</table>
</form>
<table width="160" border="1" cellspacing=0 cellpadding=2>
<tr>
<td colspan="7"><? echo $month_name . " " . $year?></td>
</tr>
<tr>
<td>Su</td>
<td>M</td>
<td>T</td>
<td>W</td>
<td>Th</td>
<td>F</td>
<td>Sat</td>
</tr>
<?
// begin placement of days according to their beginning weekday
$day = 1;
$wday = $first_week_day;
$firstweek = true;
while ($day <= $lastday)
{
if ($firstweek)
{
echo '<tr>';
for ($i=1; $i<=$first_week_day; $i++)
{
echo '<TD> </td>';
}
$firstweek = false;
}
if ($wday==0)
{
echo '<tr>';
}
// make each day linkable to the following result.php page
if (intval($month_num) < 10)
{
$new_month_num = "0$month_num";
}
elseif (intval($month_num) >= 10)
{
$new_month_num = $month_num;
}
if ( intval($day) < 10)
{
$new_day = "0$day";
}
elseif (intval($day) >= 10)
{
$new_day = $day;
}
$link_date = "$year-$new_month_num-$new_day";
// I've tried passing variables here
echo "<td><a href=callback_cal.php?eventid=$link_date&year=$year&month_name=$month_name&month_num=$month_num> $day </a></td>";
if ($wday==6)
{
echo '</tr>';
}
$wday++;
$wday = $wday % 7;
$day++;
}
?>
</table>
<!-- END CALENDER -->
<b>Result</b><br><br>
<?
if ($eventid!='')
{
$result=mysql_query("select count(*) as clicked
from tablename
where chat_date='$eventid'");
list($DBclicked)=mysql_fetch_row($result);
echo $DBclicked;
}
?>
Thanks for your help
:o)