Thursday, 4 June 2015

PHP: A simple and fast calendar combining PHP and tables.

A simple and fast calendar combining PHP and tables. Use this as a base
for applications in which a calendar is needed

<?php

/*  This calendar is not very pretty as-is, but it is functional and fast.
    Formatting to suit your needs should be fairly simple.  

    The latest version of this calendar is formatted much more niceley.  It
    also includes a full-featured "Community Calendar" which is linked to a
    MySQL database for reporting upcoming events.

    The latest copy of the calendar can be viewed and/or downloaded from:
    http://modems.rosenet.net/mysql/   */

/*  Set some variables  */
$date=01;
$day=01;
$off=0;

/*  The month and year variables can (should) be passed from a preceding
    web page rather than hard coded  */
$month = '05';
$year = '1999';

/*  Figure out how many days are in this month  */
while (checkdate($month,$date,$year)):
$date++;
endwhile;

/*  Create a table with days of the week headers  */
echo "<table border='1' cellpaddig='5' cellspacing='5' width='100%'><tr>";
echo "<th><b><font face='Arial'>Sunday</font></b></th>";
echo "<th><b><font face='Arial'>Monday</font></b></th>";
echo "<th><b><font face='Arial'>Tuesday</font></b></th>";
echo "<th><b><font face='Arial'>Wednesday</font></b></th>";
echo "<th><b><font face='Arial'>Thursday</font></b></th>";
echo "<th><b><font face='Arial'>Friday</font></b></th>";
echo "<th><b><font face='Arial'>Saturday</font></b></th>";

/*  Start the table data and make sure the number of days does not exceed
    the total for the month  - $date will always be one more than the total
    number of days in the momth  */
echo "<tr>";
while ($day<$date):

/*  Figure what day of the week the first falls on and set the number of
    preceding and trailing cells accordingly  */
if ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) == 'Sunday') {
echo "<td>$day</td>";
$off = '01';
}
elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) ==
'Monday') {
echo "<td></td><td>$day</td>";
$off= '02';
}
elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) ==
'Tuesday') {
echo "<td></td><td></td><td>$day</td>";
$off= '03';
}
elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) ==
'Wednesday') {
echo "<td></td><td></td><td></td><td>$day</td>";
$off= '04';
}
elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) ==
'Thursday') {
echo "<td></td><td></td><td></td><td></td><td>$day</td>";
$off= '05';
}
elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) ==
'Friday') {
echo "<td></td><td></td><td></td><td></td><td></td><td>$day</td>";
$off= '06';
}
elseif ($day == '01' and date('l', mktime(0,0,0,$month,$day,$year)) ==
'Saturday') {
echo "<td></td><td></td><td></td><td></td><td></td><td></td><td>$day</td>";
$off= '07';
}
else {
echo "<td>$day</td>";
}

/*  Increment the day and increment the cells that go before the end of the row
    and end the row when appropriate */
$day++;
$off++;

if ($off>7) {
echo "</tr><tr>";
$off='01';
} else {
echo "";
}

endwhile;

echo "</table>";

?>

0 comments:

Post a Comment