 |
|
Code (PHP)
<?
// ฟังก์ชันแสดงปฏิทิน โดยรับชื่อเดือน และปีที่ต้องการมาจาก ex11_04.php
function mycal_show_month_day($year, $month, $day)
{
return($day);
}
function mycal_show_month($day_callback, $year = 0, $month = 0)
{
// กำหนดค่าดีฟอลต์ของเดือน ถ้าไม่กำหนดจะแสดงเดือนปัจจุบัน
if($month == 0)
{
$month = date( "m");
}
// กำหนดค่าดีฟอลต์ของปี ถ้าไม่กำหนดจะแสดงปีปัจจุบัน
if($year == 0)
{
$year = date( "Y");
}
// กำหนดเดือนก่อนหน้านี้ และเดือนถัดไป
$prev_month = date( "m", mktime(0, 0, 0, $month - 1, 1, $year));
$next_month = date( "m", mktime(0, 0, 0, $month + 1, 1, $year));
// กำหนดปีก่อนหน้านี้ และปีถัดไป
$prev_year = date( "Y", mktime(0, 0, 0, $month - 1, 1, $year));
$next_year = date( "Y", mktime(0, 0, 0, $month + 1, 1, $year));
?>
<!-- กำหนดให้แสดงผลแบบ Cacade Style sheet ถ้าไม่ใช้ตารางจะมีแถวสูง -->
<style TYPE="text/css">
TD.Some
{
font-family :Tahoma, Verdana, Arial;
font-size :12px;
color :#000000;
font-weight :normal;
}
A
{
font-family :Tahoma, Verdana, Arial;
font-size :12px;
color :#000000;
font-weight :normal;
text-decoration: none;
}
</style>
<table align="CENTER" border="1" cellspacing="0" cellpadding="2" bgcolor="WHITE" bordercolor="Gray">
<tr>
<td>
<table width="140" border="0" cellpadding="1" cellspacing="0" bgcolor="#FFFFFF">
<tr height="18" bgcolor="Silver">
<td width="20" height="18" align="RIGHT" valign="MIDDLE"> <a href="
<? //กำหนดส่วนอ้างอิง
echo (basename($GLOBALS[ "PHP_SELF"]));
echo ( "?month=$prev_month");
echo ( "&year=$prev_year");
?>" class="noevent"><</a>
</td>
<td width="120" colspan="5" align="CENTER" valign="MIDDLE" class="SOME">
<?
echo (date( "F", mktime(0, 0, 0, $month, 1, $year)). " $year");
?>
</td>
<td width="20" height="18" align="RIGHT" valign="MIDDLE"> <a href="
<?
echo (basename($GLOBALS[ "PHP_SELF"]));
echo ( "?month=$next_month");
echo ( "&year=$next_year");
?>" class="noevent">></a>
</td>
</tr>
<tr>
<!-- พิมพ์ส่วนหัวปฏิทิน -->
<td align="RIGHT" class="SOME" width="20" height="15"><font color=red> S </font></td>
<td align="RIGHT" class="SOME" width="20" height="15"> M </td>
<td align="RIGHT" class="SOME" width="20" height="15"> T </td>
<td align="RIGHT" class="SOME" width="20" height="15"> W </td>
<td align="RIGHT" class="SOME" width="20" height="15"> Th </td>
<td align="RIGHT" class="SOME" width="20" height="15"> F </td>
<td align="RIGHT" class="SOME" width="20" height="15"> S </td>
</tr>
<tr>
<td height="1" align="MIDDLE" colspan="7">
<hr size="1" noshade>
</td>
</tr>
<?
$day = 1 - date( "w", mktime(0, 0, 0, $month, 1, $year));
$days_in_month = date( "t", mktime(0, 0, 0, $month, 1, $year));
// วนรอบทุกวันใน 1 เดือน
while($day <= $days_in_month)
{
echo ( "<tr>");
// 1 แถวมี 7 วัน
for ($j=1; $j<=7; $j++)
{
?>
<td align='right' width=20 height=15 valign='bottom' class='some'>
<?
// กำหนดค่าเพื่อรับค่าวัน-เดือน-ปี ปัจจุบัน เพื่อเปรียบเทียบ ถ้าเป็นวัน-เดือน-ปีปัจจุบันจะแสดงตัวสีแดง
$today = getdate();
if (($day==$today[mday]) and ($month==$today[mon]) and ($year==$today[year]))
{
echo "<Font color=red><B>";
}
echo (($day <= $days_in_month && $day > 0) ? $day_callback($year, $month, $day): " ");
?>
</td>
<?
$day++;
}
echo ( "</tr>");
}
?>
</table>
</td>
</tr>
</table>
<?
return(true);
}
// ฟังก์ชันเพื่อแสดงผล โดยรับค่าเดือน-ปี
mycal_show_month( "mycal_show_month_day", $year, $month);
?>
ลองดูครับ
|
 |
 |
 |
 |
Date :
2011-02-18 21:22:17 |
By :
illusionsb |
|
 |
 |
 |
 |
|
|
 |