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

  • Mengenal php framework
    Framework dapat diartikan sebagai sebuah kerangka kerja yang digunakan untuk mempermudah penyelesaian sebuah pekerjaan. Jika dikaitkan dengan PHP maka dapat diartikan sebagai suatu kerangka kerja yang telah terpola dengan tujuan memudahkan pengembang web dalam menyusun rangkaian proses dengan bahasa pemrograman PHP. Misal dalam membuat sebuah aplikasi web, pengembang harus menuliskan kode program secara berulang dengan kompleksitas tinggi. Hal tersebut tentunya akan sangat mengurangi tingkat efisien waktu serta menguras pikiran bahkan kode yang dihasilkan mungkin saja kurang optimal dari segi penulisan serta proses yang dilakukan dalam program.
  • Membuat aplikasi data mahasiswa dengan PHP - Bagian 6
    Ini bagian terakhir artikel saya tentang tentang membuat aplikasi data mahasiswa dengan php, Pada artikel sebelumnya membuat aplikasi data mahasiswa bagian 5, saya sudah merancang tabel database pengguna dan menyisipkan 1 nama pengguna dengan password yang disimpan dalam format md5. Sekarang saya akan merancang form login dan proses login, serta melindungi semua halaman pengelolaan data mahasiswa yang sudah dibuat.
  • Membuat nomor transaksi diawali 0000
    Jika kita membuat aplikasi yang berhubungan dengan proses transaksi maka akan membuat penomoran secara otomatis yang format nomornya terdiri dari beberapa angka sesuai urutan transaksinya. Nomor transaksi biasanya diawali dari angka terkecil yaitu satu tapi ditampilkan dalam digit angka ratusan atau ribuan. Misal untuk transaksi no 1 maka akan ditampilkan dengan angka 001 atau 0001.
  • 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.
  • Membagi form dalam beberapa halaman
    Ada beberapa contoh kasus yang mengharuskan kita membagi form dalam beberapa halaman, agar proses input lebih mudah dan dapat memunculkan pilihan sesuai dengan inputan awal. Berikut ini saya akan berbagi trick bagaimana membuat beberapa form yang terpisah halaman bisa saling terhubung dalam sebuah proses.

Kiriman terbaru