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

  • Menghitung umur dengan php
    Menghitung umur dengan php. Sering kali jika kita membuat aplikasi web dengan php yang berhubungan dengan data personal seperti karyawan, siswa, mahasiswa, dan pasien kita ingin menampilkan informasi umur yang dihitung dari tanggal lahirnya. Berikut ini contoh kode singkat cara melakukan perhitungan umur dengan php.
  • Menampilkan latar gambar/background secara acak dengan php
    Tampilan sebuah halaman tentunya harus menarik dan memiliki kesan khusus pada saat ditampilkan kepada pengunjung. Ada tips khusus bagi yang senang ganti-ganti latar gambar halaman web dengan kode php.
  • Membuat laporan dari php ke excel
    Dalam sebuah aplikasi berbasis web, biasanya kita diminta untuk menghasilkan laporan dalam berbagai format. Yang paling umum yaitu format html (langsung ditampilkan di browser), kemudian format pdf dan format excel.
  • Membuat laporan detail bercabang dengan php
    Kali ini saya ingin bahas tentang bagaimana membuat laporan detail bercabang dengan php. Maksud bercabang disini adalah sebuah laporan memiliki sub detail, dan didalam sub masih ada lagi laporan lagi sesuai sub yang dipilih.
  • Perintah include dan require dalam php
    Perintah require() dan include() dalam php digunakan untuk menyisipkan isi file tertentu menjadi bagian file yang memanggilnya. Keduanya sangat identik dalam banyak hal, kecuali cara penanganan kegagalan. include() menghasilkan suatu peringatan, sedangkan require() menghasilkan pesan kesalahan Fatal Error.

Kiriman terbaru