Membuat kalender bulan dengan php

Kalender bulan dengan phpJika anda membuat aplikasi berbasis web, fitur yang yang sering diandalkan adalah tampilan dan kemudahan membuat laporan. Misal saja dalam aplikasi yang anda buat ada salah satu laporan yang menyajikanya berdasarkan tanggal. Untuk mempermudah dalam menginput tanggal anda bisa tampilkan kalender bulan. Berikut ini saya ingin berbagi tentang bagaimana membuat kalender bulan dengan php.

Langkah pertama adalah membuat css untuk menyusun tampilan kalendernya. Isi css bisa anda tulis seperti berikut :

<style type="text/css">
/* calendar */
table.calendar		{ border-left:1px solid #999; }
tr.calendar-row	{  }
td.calendar-day	{ min-height:80px; font-size:11px; position:relative; } * html div.calendar-day { height:80px; }
td.calendar-day:hover	{ background:#eceff5; }
td.calendar-day-np	{ background:#eee; min-height:80px; } * html div.calendar-day-np { height:80px; }
td.calendar-day-head { background:#ccc; font-weight:bold; text-align:center; width:120px; padding:5px; border-bottom:1px solid #999; border-top:1px solid #999; border-right:1px solid #999; }
div.day-number		{ background:#999; padding:5px; color:#fff; font-weight:bold; float:right; margin:-5px -5px 0 0; width:20px; text-align:center; }
/* shared */
td.calendar-day, td.calendar-day-np { width:120px; padding:5px; border-bottom:1px solid #999; border-right:1px solid #999; }
</style>

Setelah css, anda memerlukan sebuah fungsi untuk menampikan kalende berdasar bulan yang ditentukan. Lihat script berikut :

function draw_calendar($month,$year){
	/* draw table */
	$calendar = '<table cellpadding="0" cellspacing="0" class="calendar">';
	/* table headings */
	$headings = array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
	$calendar.= '<tr class="calendar-row"><td class="calendar-day-head">'.implode('</td><td class="calendar-day-head">',$headings).'</td></tr>';
	/* days and weeks vars now ... */
	$running_day = date('w',mktime(0,0,0,$month,1,$year));
	$days_in_month = date('t',mktime(0,0,0,$month,1,$year));
	$days_in_this_week = 1;
	$day_counter = 0;
	$dates_array = array();
	/* row for week one */
	$calendar.= '<tr class="calendar-row">';
	/* print "blank" days until the first of the current week */
	for($x = 0; $x < $running_day; $x++):
		$calendar.= '<td class="calendar-day-np"> </td>';
		$days_in_this_week++;
	endfor;

	/* keep going with days.... */
	for($list_day = 1; $list_day <= $days_in_month; $list_day++):
		$calendar.= '<td class="calendar-day">';
			/* add in the day number */
			$calendar.= '<div class="day-number">'.$list_day.'</div>';

			/** QUERY THE DATABASE FOR AN ENTRY FOR THIS DAY !!  IF MATCHES FOUND, PRINT THEM !! **/
			$calendar.= str_repeat('<p> </p>',2);
			
		$calendar.= '</td>';
		if($running_day == 6):
			$calendar.= '</tr>';
			if(($day_counter+1) != $days_in_month):
				$calendar.= '<tr class="calendar-row">';
			endif;
			$running_day = -1;
			$days_in_this_week = 0;
		endif;
		$days_in_this_week++; $running_day++; $day_counter++;
	endfor;

	/* finish the rest of the days in the week */
	if($days_in_this_week < 8):
		for($x = 1; $x <= (8 - $days_in_this_week); $x++):
			$calendar.= '<td class="calendar-day-np"> </td>';
		endfor;
	endif;

	/* final row */
	$calendar.= '</tr>';

	/* end the table */
	$calendar.= '</table>';
	
	/* all done, return result */
	return $calendar;
}

Setelah function menampilkan sudah anda tuliskan, tinggal memanggil function tersebut dengan cara :

echo '<h2>Nopember 2014</h2>';
echo draw_calendar(9,2014);

echo '<h2>Desember 2014</h2>';
echo draw_calendar(12,2014);

Pada script diatas, anda cukup memanggil fungsi draw_calendar dan menetapkan bulan dan tahun kalender yang anda buat.

Hasilnya :

Membuat kalender dengan php dan css

Anda juga bisa kembangkan kalender diatas untuk berbagai kondisi keperluan dengan mengubah beberapa baris function draw_calendar.

Silahkan lihat demo kalender dengan php disini. Jika anda ingin download contoh membuat kalender dengan php bisa diambil disini.

Sumber : http://davidwalsh.name/php-calendar

Semoga bermanfaat

Zainal Hakim

** Bebas disunting dengan menyebutkan sumber **

Komentar

Halaman Lainya

  • Membuat pengecekan tanggal masa aktif dengan php
    Kasus pengecekan tanggal masa aktif sering kita temui pada beberapa aplikasi web dengan php seperti masa pendaftaran siswa baru, masa registrasi ulang, masa aktif berlangganan, masa aktif keanggotaaan, masa berlaku kartu dll. Berikut ini saya akan berbagi tentang bagaimana membuat pengecekan tanggal masa aktif pada kasus waktu pendaftaran online dengan php.
  • Membuat aplikasi php dalam satu file
    Biasanya kita membuat sebuah aplikasi php, semua bagian/modul/halaman dipisah dalam file-file yang berbeda. Misalkan membuat aplikasi data mahasiswa, kita membuat halaman menu kemudian disimpan dalam menu.php, membuat input data lalu disimpan dalam input-data.php, kemudian membuat simpan lalu disimpan dalam simpan.php dst. Bagaimana jika semua fungsi halaman tersebut dijadikan dalam satu file? Simak artikel berikut.
  • Membuat function di php
    Function adalah kumpulan baris program yang digunakan untuk melakukan proses tertentu dengan tujuan yang sama. Function akan mengembalikan nilai atau hasil yang sudah diproses kepada rutin atau variabel yang menggunakannya. Function dibuat agar program utama dapat ditulis lebih sederhana dan pengulangan proses dapat dilakukan dengan lebih mudah. Dalam php terdapat tiga jenis function yang bisa dijalankan yaitu User-defined, internal dan anonymous functions. Pada artikel berikut saya akan menjelaskan tentang bagaimana membuat function sediri (User Defined) dalam php.
  • Perbedaan php dengan javascript dan html
    Apa perbedaan php dengan javascript? atau apa perbedaan php dengan html? pertanyaan ini seringkali muncul jika anda mulai mengenal bahasa pemrograman web. Ketiga bahasa pemrograman ini ternyata saling terkait dalam membangun sebuah web yang dinamis dan interaktif.
  • Menampilkan data mysql dalam list menu dengan php
    List menu atau yang sering disebut combo box adalah sebuah objek dalam form yang disediakan oleh HTML. List menu digunakan untuk menampilkan pilihan yang umumnya bersifat statis misal pilihan nama kota, nama kategori, jenis jabatan dll. Bagaimana seandainya kita ingin menampilkan pilihan dengan sumber datanya dari mysql? Saya akan jelaskan langkahnya pada artikel berikut.

Kiriman terbaru