okay, i have finally got it working with my own code. Unfortunatelt, it is very long winded, wondering if anyone can see anywhere where i can optimize the code?
Code: Select all
<pre><?php
echo "<table width="100%" border="1">";
echo "<tr>";
$dayArray = array("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun");
$dayMonths = 1;
$day = 0;
$january = 1;
$february = 1;
$march = 1;
$april = 1;
$may = 1;
$june = 1;
$july = 1;
$august = 1;
$september = 1;
$october = 1;
$november = 1;
$december = 1;
$month = 1;
echo "<td> </td>";
while ($month <= 12) {
echo "<td>";
echo date("M", mktime(0,0,0,$month,1,2003));
echo "</td>";
$month++;
}
echo "</tr><tr>";
while ($dayMonths <= 37) { // The maximum number of cells any month will need is 37
if ($day == 0 || $day > 6) { // If day = sunday, start back at monday
$day = 0;
$checkDay = $dayArray[$day];
} else {
$checkDay = $dayArray[$day];
}
echo "<td>$checkDay</td>";
// January check
// If the current day number is equal to the name of the day and we are still in the same month, output the dat
if (date("D", mktime(0,0,0,1,$january,2003)) == $checkDay && date("M", mktime(0,0,0,1,$january,2003)) == "Jan") {
echo "<td>";
echo date("M-d-D", mktime(0,0,0,1,$january,2003));
echo "</td>";
$january++;
} else { // Otherwise, print a blank cell
echo "<td> </td>";
}
// February check
if (date("D", mktime(0,0,0,2,$february,2003)) == $checkDay && date("M", mktime(0,0,0,2,$february,2003)) == "Feb") {
echo "<td>";
echo date("M-d-D", mktime(0,0,0,2,$february,2003));
echo "</td>";
$february++;
} else {
echo "<td> </td>";
}
// March check
if (date("D", mktime(0,0,0,3,$march,2003)) == $checkDay && date("M", mktime(0,0,0,3,$march,2003)) == "Mar") {
echo "<td>";
echo date("M-d-D", mktime(0,0,0,3,$march,2003));
echo "</td>";
$march++;
} else {
echo "<td> </td>";
}
// April check
if (date("D", mktime(0,0,0,4,$april,2003)) == $checkDay && date("M", mktime(0,0,0,4,$april,2003)) == "Apr") {
echo "<td>";
echo date("M-d-D", mktime(0,0,0,4,$april,2003));
echo "</td>";
$april++;
} else {
echo "<td> </td>";
}
// May check
if (date("D", mktime(0,0,0,5,$may,2003)) == $checkDay && date("M", mktime(0,0,0,5,$may,2003)) == "May") {
echo "<td>";
echo date("M-d-D", mktime(0,0,0,5,$may,2003));
echo "</td>";
$may++;
} else {
echo "<td> </td>";
}
// June check
if (date("D", mktime(0,0,0,6,$june,2003)) == $checkDay && date("M", mktime(0,0,0,6,$june,2003)) == "Jun") {
echo "<td>";
echo date("M-d-D", mktime(0,0,0,6,$june,2003));
echo "</td>";
$june++;
} else {
echo "<td> </td>";
}
// July check
if (date("D", mktime(0,0,0,7,$july,2003)) == $checkDay && date("M", mktime(0,0,0,7,$july,2003)) == "Jul") {
echo "<td>";
echo date("M-d-D", mktime(0,0,0,7,$july,2003));
echo "</td>";
$july++;
} else {
echo "<td> </td>";
}
// August check
if (date("D", mktime(0,0,0,8,$august,2003)) == $checkDay && date("M", mktime(0,0,0,8,$august,2003)) == "Aug") {
echo "<td>";
echo date("M-d-D", mktime(0,0,0,8,$august,2003));
echo "</td>";
$august++;
} else {
echo "<td> </td>";
}
// September check
if (date("D", mktime(0,0,0,9,$september,2003)) == $checkDay && date("M", mktime(0,0,0,9,$september,2003)) == "Sep") {
echo "<td>";
echo date("M-d-D", mktime(0,0,0,9,$september,2003));
echo "</td>";
$september++;
} else {
echo "<td> </td>";
}
// October check
if (date("D", mktime(0,0,0,10,$october,2003)) == $checkDay && date("M", mktime(0,0,0,10,$october,2003)) == "Oct") {
echo "<td>";
echo date("M-d-D", mktime(0,0,0,10,$october,2003));
echo "</td>";
$october++;
} else {
echo "<td> </td>";
}
// November check
if (date("D", mktime(0,0,0,11,$november,2003)) == $checkDay && date("M", mktime(0,0,0,11,$november,2003)) == "Nov") {
echo "<td>";
echo date("M-d-D", mktime(0,0,0,11,$november,2003));
echo "</td>";
$november++;
} else {
echo "<td> </td>";
}
// December check
if (date("D", mktime(0,0,0,12,$december,2003)) == $checkDay && date("M", mktime(0,0,0,12,$december,2003)) == "Dec") {
echo "<td>";
echo date("M-d-D", mktime(0,0,0,12,$december,2003));
echo "</td>";
$december++;
} else {
echo "<td> </td>";
}
echo "</tr>";
echo "<tr>";
$day++;
$dayMonths++;
}
echo "</tr>";
echo "</table>";
?>