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

  • Masalah seputar upload file dengan php
    Minat terhadap bahasan tentang upload file dengan php kayanya sangat tinggi, ini saya lihat dari banyaknya pengunjung yang datang ke situs saya ini mencari informasi tentang bagaimana membuat form upload, membuat upload ke database dll. Oleh karena itu saya akan berbagi informasi tentang hal yang sering terjadi pada saat membuat fasilitas upload file dengan php, mudahan ini berguna buat teman-teman yang sedang mendalaminya.
  • Membuat animasi flash dengan php
    Anda mungkin sudah mengenal apa itu flash, yaitu sebuah jenis media digital yang bisa menampilkan gambar, tulisan dan memutar audio. Flash ini sering digunakan untuk membuat animasi yang ditampilkan di internet. Flash atau yang sering disebut animasi flash ini umumnya dibuat dengan aplikasi khusus seperti Adobe Flash. Tapi kita juga bisa membuatnya dengan php, walaupun hanya dengan animasi-animasi sederhana.
  • Cara upload file dengan PHP Script
    Php memiliki fasilitas untuk mengirimkan file dari komputer pengguna melalui browser ke server sehingga kita tidak perlu lagi aplikasi khusus seperti ftp atau login ke panel hosting hanya untuk sekedar upload file biasa, dokumen, maupun gambar.
  • 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.
  • 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.

Kiriman terbaru