What error do you receive?
*********************************
Instead of getting the whole calendar, I am just getting one day (the first day of the current month). And I am using a little script tester to test the first 7 days of August, and when I run it I get the following errors:
week is good.
day is good.
test passed
test 2 test week value 1 is not equal to result week
test 2 test weekday value 6 is not equal to result weekday
test failed
test 3 test week value 2 is not equal to result week
day is good.
test failed
test 4 test week value 2 is not equal to result week
test 4 test weekday value 1 is not equal to result weekday
test failed
test 5 test week value 2 is not equal to result week
test 5 test weekday value 2 is not equal to result weekday
test failed
test 6 test week value 2 is not equal to result week
test 6 test weekday value 3 is not equal to result weekday
test failed
test 7 test week value 2 is not equal to result week
test 7 test weekday value 4 is not equal to result weekday
test failed
Here is the full script, I really appreciate if you could help me:
============================================
<?php
print "<head><STYLE>.calendar {border-width=1;border-style=solid;}
.calcell {border-width=1;border-style=solid;}
.contentcell {border-width=1;border-style=solid;}
.dayCell {border-width=1;border-style=solid;}
.dayHeader {border-width=1;border-style=solid;}
.weekOfYear {border-width=1;border-style=solid;}</STYLE></head>";
function getDaysInMonth($thisYear,$thisMonth)
{
$date=getdate(mktime(0,0,0,$thisMonth+1,0,$thisYear));
return $date['mday']+1;
}
function getArrayMonth($datetime)
{
$dateArray = getdate($datetime);
$mon = $dateArray['mon'];
$year = $dateArray['year'];
$numDaysInMonth = getDaysInMonth($year,$mon);
$week=1;
for ($i=1; $i < $numDaysInMonth;$i++)
{
$timestamp = mktime(0,0,0,$mon,$i,$year);
$dateArray = getdate($timestamp);
$result[$i]=array('wday'=>$dateArray['wday'],'week'=>$week,'timestamp'=>$timestamp);
if ($dateArray['wday']==6)
{
$week=$week+1;
}
return $result;
}
}
function getHTMLCalendar($datetime)
{
$arrayCalendar = getArrayMonth($datetime);
print "<TABLE class=calendar<>\n";
$week=1;
print "<tr>";
for ($start=1;$start<=$arrayCalendar[1]['wday']; $start=$start+1)
print "<td></td>";
$lastday=1;
foreach ($arrayCalendar as $day => $result) {
if ($week!=$result['week'])
{
print "<td class=weekOfYear>Week " . date("W", $result['timestamp']) . "</tr><tr>";
$week=$result['week'];
}
print "<td class=dayCell>";
print "<table>";
print "<tr><td class=dayHeader>";
print date("D M j Y", $result['timestamp']);
print "</td></tr>";
function getContent($timestamp)
{
@file_get_contents("events/".$timestamp.".txt");
}
print "<tr><td><div class=contentCell>";
$cellContent= getContent($result['timestamp']);
if ($cellContent=="")
print "<a href=addEvent.php?timestamp=".$result['timestamp'].">Add Event</a>";
else
{
print "style='overflow:scroll;'>";
print "<a href=addEvent.php?timestamp=".$result['timestamp']."&eventText=".urlencode($cellContent).">".$cellContent;
}
print "</div></td></tr>";
print "</table>";
print "</td>\n";
$lastday = $day;
}
for ($start=1;$start<=6-$arrayCalendar[$lastday]['wday']; $start=$start+1)
print "<td class=weekOfYear>Week " . date("W", $arrayCalendar[$lastday]['timestamp'])."</td>";
$week=$result['week'];
print "</tr>\n";
print "</TABLE>\n";
}
getHTMLCalendar(time());
?>
=========================================
And here is the test array:
<?
function testArrayCalendar()
{
$testArray = array( 1=> mktime(0,0,0,8,1,2003),
2=> mktime(0,0,0,8,2,2003),
3=> mktime(0,0,0,8,3,2003),
4=> mktime(0,0,0,8,4,2003),
5=> mktime(0,0,0,8,5,2003),
6=> mktime(0,0,0,8,6,2003),
7=> mktime(0,0,0,8,7,2003));
$expResultsArray = array(
1=>array('day'=>1,'wday'=>5,'week'=>1),
2=>array('day'=>2,'wday'=>6,'week'=>1),
3=>array('day'=>3,'wday'=>0,'week'=>2),
4=>array('day'=>4,'wday'=>1,'week'=>2),
5=>array('day'=>5,'wday'=>2,'week'=>2),
6=>array('day'=>6,'wday'=>3,'week'=>2),
7=>array('day'=>7,'wday'=>4,'week'=>2));
foreach ($testArray as $test => $day) {
$resultMonth = getArrayMonth($testArray [$test]);
//print $testArray[$test] . " ";
$resultDay = $resultMonth[$expResultsArray[$test]['day']];
//print "week value " . $resultMonth[$test]['week'] . " ";
$teststatus= 'passed';
if ($resultDay['week'] != $expResultsArray[$test]['week'])
{
print "test " . $test . " test week value " . $expResultsArray[$test]['week'] . " is not equal to result week " . $resultDay['week'] . "<br>";
$teststatus = 'failed'; // failed
}
else
{
print "week is good.<br/>";
}
if ($resultDay['wday'] != $expResultsArray[$test]['wday'])
{
print "test " . $test . " test weekday value " . $expResultsArray[$test]['wday'] . " is not equal to result weekday " . $resultDay['wday'] . "<br>";
$teststatus = 'failed'; // failed
}
else
{
print "day is good.<br/>";
}
if ($teststatus == 'failed')
print "test failed<br/>";
else
print "test passed<br/>";
}
}
testArrayCalendar();
?>
Thanks