Advertisement
arijulianto

Kalender dengan PHP

Feb 23rd, 2014
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.91 KB | None | 0 0
  1. // fungsi untuk bikin kalender 1 bulan
  2.  
  3.  
  4. function calendar($month = NULL, $year = NULL) {
  5.     $month = $month ? $month : date("m");
  6.     $year = $year >= 1900 ? $year : date("Y");
  7.     $year = $year > 2038 ? 2038 : $year;
  8.     $firstDayOfMonth = mktime(0, 0, 0, $month, 1, $year);
  9.     $numberDays = date("t", $firstDayOfMonth);
  10.     $dayOfWeek = date("w", $firstDayOfMonth);
  11.     $month = (int) $month;
  12.     $daysOfWeek = array('Ming', 'Sen', 'Sel', 'Rab', 'Kam', 'Jum', 'Sab');
  13.     $nama_bulan = array(1 = > "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember");
  14.  
  15.     $calendar = "<table class=\"kalender\" border=0 cellspacing=0 cellpadding=1>";
  16.     $calendar. = "<tr><th colspan=7 class=\"cap\">$nama_bulan[$month] $year</th></tr>";
  17.     $calendar. = "<tr><th class=\"ming\">Ming</th><th>Sen</th><th>Sel</th><th>Rab</th><th>Kam</th><th class=\"jum\">Jum</th><th class=\"sab\">Sab</th></tr>";
  18.     $currentDay = 1;
  19.     $today = date("d");
  20.     $calendar. = "<tr>";
  21.  
  22.     if ($dayOfWeek > 0) {
  23.         $calendar. = "<td colspan=\"$dayOfWeek\">&nbsp;</td>";
  24.     }
  25.  
  26.     while ($currentDay <= $numberDays) {
  27.         if ($dayOfWeek == 7) {
  28.             $dayOfWeek = 0;
  29.             $calendar. = "</tr><tr>";
  30.         }
  31.  
  32.         if ($dayOfWeek == "0") {
  33.             if ($today == $currentDay && $month == date("n") && $year == date("Y")) $class_today = " today";
  34.             else$class_today = "";
  35.             $calendar. = "<td class=\"ming$class_today\">$currentDay</td>";
  36.         }
  37.         elseif($dayOfWeek == "5") {
  38.             if ($today == $currentDay && $month == date("n") && $year == date("Y")) $class_today = " today";
  39.             else$class_today = "";
  40.             $calendar. = "<td class=\"jum$class_today\">$currentDay</td>";
  41.         }
  42.         elseif($dayOfWeek == "6") {
  43.             if ($today == $currentDay && $month == date("n") && $year == date("Y")) $class_today = " today";
  44.             else$class_today = "";
  45.             $calendar. = "<td class=\"sab$class_today\">$currentDay</td>";
  46.         } else {
  47.             if ($today == $currentDay && $month == date("n") && $year == date("Y")) $class_today = " class=\"today\"";
  48.             else$class_today = "";
  49.             $calendar. = "<td$class_today>$currentDay</td>";
  50.         }
  51.  
  52.         $currentDay++;
  53.         $dayOfWeek++;
  54.     }
  55.  
  56.     if ($dayOfWeek != 7) {
  57.         $remainingDays = 7 - $dayOfWeek;
  58.         $calendar. = "<td colspan=\"$remainingDays\">&nbsp;</td>";
  59.     }
  60.     $calendar. = "</tr></table>\n";
  61.     return $calendar;
  62. }
  63.  
  64.  
  65. // olah data kalender menjadi kalender 12 bulan
  66. echo "<table align=\"center\" class=all cellpadding=2 cellspacing=1>\n<tr>\n";
  67. for ($i = 1; $i <= 12; $i++) {
  68.     echo "<td id=m align=\"center\" valign=\"top\">\n";
  69.  
  70.     echo calendar($i, $y);
  71.     echo "</td>\n";
  72.     if (($i) % $cols == 0) {
  73.         echo "</tr>\n<tr>";
  74.     }
  75. }
  76. echo "</tr>\n</table>\n";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement