Saturday, January 24, 2015

Membuat Kalender dengan PHP


membuat kalender dengan php 

Cara membuat kalender dengan PHP – Dalam tutorial ini anda akan belajar cara membuat kelender web menggunakan PHP. Kalender dalam web memang terkadang diperlukan tapi jika anda sekedar melatih atau menambah wawasan anda tidak jadi masalah. Dalam tutorial membuat kalender dengan php ini, saya akan hanya akan menggunakan tabel untuk mengatur tampilannya. Anda bisa menambahkan css untuk lebih mempercantik tampilannya. Pada bagian atas kalender kita akan tempatkan link untuk melink ke bulan sebelumnya dan bulan berikutnya. Dan pada bagian bawah akan tampil kelender itu sendiri.

Anda memerlukan aplikasi editor yang baik seperti sublime text atau notepad++. Terserah anda ingin pakai yang mana, yang jelas untuk membedakan setiap tag menjadi lebih mudah.
Sebelumnya kita harus menentukan bagaimana kita akan melewatkan parameter. Kita dapat menggunakan input hidden atau dengan melalui URL. Dalam tutorial ini, saya akan menggunakan pendekatan kedua. Kita membutuhkan dua parameter yaitu bulan dan tahun. Kita juga membutuhkan array yang berisi nama-nama bulan, seperti berikut :

$NamaBulan = Array("Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli",
"Agustus", "September", "Oktober", "November", "Desember");

Pertama kita perlu memeriksa apakah parameter telah terkirim atau belum. Jika kita tidak, maka kita mengatur nilainya menjadi bulan dan tahun sekarang. (Untuk penjelasan rinci tentang  fungsi date () silahkan lihat PHP Manual). Berikut kodenya:
if (!isset($_REQUEST["bulan"])) $_REQUEST["bulan"] = date("m");
if (!isset($_REQUEST["tahun"])) $_REQUEST["tahun"] = date("Y");

Sekarang mari kita mengatur variable-variabel yang akan kita gunakan dalam kalender.
$cBulan = $_REQUEST["bulan"];
$cTahun = $_REQUEST["tahun"];

$prev_tahun = $cTahun;
$next_tahun = $cTahun;
$prev_bulan = $cBulan-1;
$next_bulan = $cBulan+1;

if ($next_bulan == 13 ) {
$next_bulan = 1;
$next_tahun = $cTahun + 1;
}
if ($prev_bulan == 0 ) {
$prev_bulan = 12;
$prev_tahun = $cTahun - 1;
}

$cBulan dan $cTahun digunakan untuk menampilkan bulan dan tahun yang nilainya diambil dari parameter request bulan dan tahun.
Untuk link ke sebelumnya dan Next kita membutuhkan parameter yang sesuai. Dan kita menetapkan nilai $prev_tahun dan $next_bulan dengan tanggal sekarang.
Kita juga harus mengatur parameter untuk bulan-bulan berikutnya. Yaitu untuk sebelumnya, bulan dikurang 1 dan setelahnya bulan ditambah 1. Karena dalam 1 tahun ada 12 bulan, jika nilai $next_bulan = 13, itu artinya bahwa satu tahun telah berlalu dan kita harus mengaturnya agar kembali menjadi 1 (Januari) dan tambahkan 1 pada $next_tahun. Begitupula sebaliknya jika $prev_bulan bernilai 0 maka kita atur kembali menjadi 12 dan untuk $next_tahun kita kurang dengan 1.

Berikutnya kita beralih pada bagaimana membangun kalender php yang sebenarnya. Perhatikan kode berikut:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<div style="padding:10px;border:1px solid #444;background:#999;width:200px">
<table width="200">
<tr align="center">
<td bgcolor="#999999" style="color:#FFFFFF">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" align="left"> <a href="<?php echo $_SERVER["PHP_SELF"] . "?bulan=". $prev_bulan . "&tahun=" . $prev_tahun; ?>" style="color:#FFFFFF">Sebelumnya</a></td>
<td width="50%" align="right"><a href="<?php echo $_SERVER["PHP_SELF"] . "?bulan=". $next_bulan . "&tahun=" . $next_tahun; ?>" style="color:#FFFFFF">Selanjutnya</a> </td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center">
<table width="100%" bgcolor="#000" style="color:#fff" border="0" cellpadding="2" cellspacing="2">
<tr align="center">
<td colspan="7" bgcolor="#999999" style="color:#FFFFFF"><strong><?php echo $NamaBulan[$cBulan-1].' '.$cTahun; ?></strong></td>
</tr>
<tr>
<td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>S</strong></td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>M</strong></td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>T</strong></td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>W</strong></td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>T</strong></td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>F</strong></td>
<td align="center" bgcolor="#999999" style="color:#FFFFFF"><strong>S</strong></td>
</tr>
Sekarang kita akan membuat penampil tanggalnya.  Kodenya seperti berikut ini:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$timestamp = mktime(0,0,0,$cBulan,1,$cTahun);
$maxday = date("t",$timestamp);
$thismonth = getdate ($timestamp);
$startday = $thismonth['wday'];
 
for ($i=0; $i<($maxday+$startday); $i++) {
if(($i % 7) == 0 ) echo "<tr>";
if($i < $startday) echo "<td></td>";
else echo "<td align='center' valign='middle' height='20px'>". ($i - $startday + 1) . "</td>";
if(($i % 7) == 6 ) echo "</tr>";
}
?>
Dan mari kita akhiri tutorial php ini dengan kode berikut ini
1
2
3
4
5
</table>
</td>
</tr>
</table>
</div>
//Satukan semua kode diatas.
Oke, kalender sekarang telah jadi. Sebaiknya anda memodifikasinya seperti menambahkan beberapa fitur dan mempercantik tampilannya. Terimakasih telah bersedia mempelajari tutorial php membuat kalender dengan php pada blog saya. Jika anda bermaksud meletakkan kalender dalam website atau blog anda, sebaiknya percantik dan perbanyak pula fiturnya agar tidak terlihat membosankan.

No comments:

Post a Comment