Membuat Kalender dengan PHP

Ditulis oleh  First Ryan Sunday, 22 August 2010 14:08

Anda pasti tau yang namanya kalender dan juga fungsinya untuk apa. Di rumah, kantor, sekolah pasti ada yang namanya kalender. Bahkan anda pasti pernah melihat widget kalender di blog atau website yang pernah anda kunjungi. Atau anda malah sudah memasang widget kalender di blog atau websit anda.

Pada tutorial kali ini saya akan memberikan cara membuat kalender seperti widget di blog atau web anda tetapi menggunakan PHP.

Untuk menapilkan tanggal di PHP anda menggunakan fungsi date. PHP memunyai dua format, yaitu format PHP dan format MySQL. Disini kita menggunakan format PHP default. Sangat disarankan bagi anda untuk mengetahui bentuk fungsi date.

Ok, kita mulai saja tutorial kali ini.

Pertama kita buat variable untuk menentukan hari, bulan dan tahun.

$month= date ("m"); $year=date("Y"); $day=date("d");

Lalu buat variabel untuk menentukan jumlah hari pada setiap bulanya.

$endDate=date("t",mktime(0,0,0,$month,$day,$year));

Setelah itu kita mulai membuat header tanggalan yang akan kita buat.

echo "Hari ini tanggal : ".date("d F Y ",mktime(0,0,0,$month,$day,$year));

Lalu kita buat tabel baru untuk menapilkan kalender. Pertama kita buat baris untuk menampilkan hari-hari pada tiap minggunya.

echo '<table align="center" border="0" cellpadding=1 cellspacing=1 style="border:1px solid #CCCCCC">
<tr bgcolor="#EFEFEF">
<td align=center><font color=red>Minggu</font></td>
<td align=center>Senin</td><td align=center>Selasa</td>
<td align=center>Rabu</td><td align=center>Kamis</td>
<td align=center>Jumat</td><td align=center>Sabtu</td></tr>';

Lalu kita buat perulangan untuk menampilkan seluruh jumlah hari pada tabel.

for ($d=1;$d<=$endDate;$d++) {

Kamudian buat logika agar setiap 7 harinya akan membuat baris baru. Karena akan kembali ke hari minggu lagi. disini hari pertama adalah hari minggu. (w = 0 adalah hari minggu.)

if (date("w",mktime (0,0,0,$month,$d,$year)) == 0) 
{ 
  echo "<tr>"; 
}

Pada hari minggu biasanya tanggalan akan berwarna merah, maka buat logika seperti dibawah ini.

if (date("D",mktime (0,0,0,$month,$d,$year)) == "Sun") 
{ 
  $fontColor="red"; 
}

Langkah terakhir adalah menutup baris pada setiap minggunya.

if (date("w",mktime (0,0,0,$month,$d,$year)) == 6) { echo "</tr>"; }} echo '</table>'; 

Kesimpulan dari pembahasan skrip diatas hasilnya seperti dibawah ini.

Bila mengalami kesulitan mencerna atau memahami penjelasan diatas.
Anda dapat langsung mengopy script dibawah ini

<?php
$month= date ("m");
$year=date("Y");
$day=date("d");

//t untuk menghitung jumlah hari dalam 1bulan
//ini digunakan untuk menampilkan semua tanggal pada bulan ini
$endDate=date("t",mktime(0,0,0,$month,$day,$year));

//membuat tabel kalender 
echo '<font face="arial" size="2">';
echo '<table align="center" border="0" cellpadding=5 cellspacing=5 style=""><tr><td align=center>';

//menampilkan hari ini
echo "Hari ini tanggal : ".date("d F Y ",mktime(0,0,0,$month,$day,$year));
echo '</td></tr></table>';

//membuat tebel baris nama-nama hari
echo '<table align="center" border="0" cellpadding=1 cellspacing=1 style="border:1px solid #ccc">
   <tr bgcolor="#EFEFEF">
   <td align=center><font color=red>Minggu</font></td>
   <td align=center>Senin</td>
   <td align=center>Selasa</td>
   <td align=center>Rabu</td>
   <td align=center>Kamis</td>
   <td align=center>Jumat</td>
   <td align=center>Sabtu</td>
   </tr>';

//cek tanggal 1 hari sekarang
$s=date ("w", mktime (0,0,0,$month,1,$year));
for ($ds=1;$ds<=$s;$ds++) {
echo "<td style=\"font-family:arial;color:#B3D9FF\" align=center valign=middle bgcolor=\"#FFFFFF\">
</td>";}

for ($d=1;$d<=$endDate;$d++) 
{
   //jika variabel w= 0 disini 0 adalah hari minggu akan membuat baris baru dengan </tr>
   if (date("w",mktime (0,0,0,$month,$d,$year)) == 0) { echo "<tr>"; }
   $fontColor="#000000";

   //menentukan warna pada tanggal hari biasa
   if (date("D",mktime (0,0,0,$month,$d,$year)) == "Sun") 
   { $fontColor="red"; }

   echo "<td style=\"font-family:arial;color:#333333\" align=center valign=middle> <span style=\"color:$fontColor\">$d</span></td>";

   //jika variabel w= 6 disini 6 adalah hari sabtu maka akan pindah baris dengan menutup baris </tr>
   if (date("w",mktime (0,0,0,$month,$d,$year)) == 6) 
   { 
     echo "</tr>"; 
   }

}
echo '</table>';
?>

Download File Kalender PHP

Demo Kalender PHP

Last modified on Sunday, 04 September 2011 06:05
First Ryan

First Ryan

Seorang Blogger yang tertarik dengan segala sesuatu yang berhubungan dengan tekhnologi website.

Website: firstryan.net

3 Komentar

  • Comment Link dani sukma dk Wednesday, 04 April 2012 10:41 posted by dani sukma dk

    saya lagi cari cara buat laporan absensi yg mencetak semua tanggal dalam satu bulan. terima kasih tutorialnya, tapi link demo juga downloadnya ga bisa

  • Comment Link First Ryan Monday, 12 December 2011 14:07 posted by First Ryan

    silakan tapi jangan lupa sumbernya.
    blognya dirapihin juga ya gan :)

  • Comment Link roni Saturday, 10 December 2011 01:45 posted by roni

    makasih gan tutornya sangan membantu saya... :)
    tp tutornya saya copy dan publish di blog saiia jd saya minta izin gan....

Leave a comment

Pastikan anda mengisi data dengan banar. tanda (*) harus di isi.
Budayakan berkomentar yang sopan. Kami selalu menerima kritik dan saran.

You are here Tutorial Tutorial Website PHP Membuat Kalender dengan PHP

Email Feed

Kirim artikel terbaru via email:

Delivered by FeedBurner