Simple Calendar Script

Simple Calendar Script

Ini adalah skrip yang paling simple. Macamana nak buat calendar.

Skrip ini hanya menggunakan PHP tanpa bantuan javascript.

Mudah di dfahami dan diubah suai untuk pelbagai kegunaan. Contohnya untuk bina kalendar event, booking form dan lain-lain.

Sila lihat demo. Skrip juga disediakan.

 

<div id="calendar_div" name="calendar_div">
	<table width="200">
		<tr align="center">
			<td bgcolor="#999999" style="color:#FFFFFF">
				<table width="100%" border="0" cellspacing="0" cellpadding="0">
					<tr>
						<td width="50%" align="left">
							<a href="<?php echo $_SERVER["PHP_SELF"] . "?month=". $prev_month . "&year=" . $prev_year; ?>" style="color:#FFFFFF">
								Previous
							</a>
						</td>
						<td width="50%" align="right">
							<a href="<?php echo $_SERVER["PHP_SELF"] . "?month=". $next_month . "&year=" . $next_year; ?>" style="color:#FFFFFF">
								Next
							</a>
						</td>
					</tr>
				</table>
			</td>
		</tr>
		<tr>
			<td align="center">
				<table width="100%" border="0" cellpadding="2" cellspacing="2">
					<tr align="center">
						<td colspan="7" bgcolor="#999999" style="color:#FFFFFF"><strong><?php echo $monthNames[$cMonth-1].' '.$cYear; ?></strong></td>
					</tr>
					<tr>
						<td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>S</strong></td>
						<td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>M</strong></td>
						<td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>T</strong></td>
						<td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>W</strong></td>
						<td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>T</strong></td>
						<td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>F</strong></td>
						<td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>S</strong></td>
					</tr>

					<?php
						$timestamp = mktime(0,0,0,$cMonth,1,$cYear);
						$maxday    = date("t",$timestamp);
						$thismonth = getdate ($timestamp);
						$startday  = $thismonth['wday'];

						for ($i=0; $i<($maxday+$startday); $i++) {
							if(($i % 7) == 0 ) 
								echo "<tr>\n";
							if($i < $startday) 
								echo "<td></td>\n";
							else 
								echo "<td align='center' valign='middle' height='20px'>". ($i - $startday + 1) . "</td>\n";
							if(($i % 7) == 6 ) 
								echo "</tr>\n";
						}
					?>
				</table>
			</td>
		</tr>
	</table>
</div>
<?php
	// core
	$monthNames = Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

	if (!isset($_REQUEST["month"])) 
		$_REQUEST["month"] = date("n");
	if (!isset($_REQUEST["year"]))  
		$_REQUEST["year"]  = date("Y");

	$cMonth = $_REQUEST["month"];
	$cYear  = $_REQUEST["year"];

	$prev_year = $cYear;
	$next_year = $cYear;

	$prev_month = $cMonth-1;
	$next_month = $cMonth+1;

	if ($prev_month == 0 ) {
		$prev_month = 12;
		$prev_year = $cYear - 1;
	}

	if ($next_month == 13 ) {
		$next_month = 1;
		$next_year = $cYear + 1;
	}

?>

 

Leave a Reply

comment-avatar

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.