Cara Membuat Kalender Dengan Script PHP

Dalam tutorial ini anda akan mempelajari bagaimana cara membuat kalender dengan menggunakan script php sederhana.

Tutorial membuat script php untuk kalender:

Pada awalnya kita harus memutuskan bagaimana kita akan melewati parameter kita. Kita juga dapat menggunakan field input ‘hidden’ atau melewatkan mereka dalam URL. Dalam tutorial ini kita akan menggunakan pendekatan kedua. Kita akan membutuhkan dua parameter – satu untuk “bulan” dan satu untuk “tahun”. Kita juga akan memerlukan sebuah array dengan nama bulan:

<?php
$monthNames = Array("January", "February", "March", "April", "May", "June", "July",
"August", "September", "October", "November", "December");
?>

Pertama kita perlu memeriksa apakah kita telah menetapkan parameter atau belum. Jika belum, kita akan menetapkan mereka berjalan di bulan dan tahun. (Untuk penjelasan rinci tentang tanggal () fungsi silakan lihat PHP Manual).

<?php
if (!isset($_REQUEST["month"])) $_REQUEST["month"] = date("n");
if (!isset($_REQUEST["year"])) $_REQUEST["year"] = date("Y");
?>

Mari kita membuat variable pada kalender yang akan di buat.

<?php
$cMonth = $_REQUEST["month"];
$cYear = $_REQUEST["year"];

$prev_year = $cYear;
$next_year = $cYear;
$prev_month = $cMonth-1;
$next_month = $cMonth+1;

if ($prev_month == 0 ) {
	$prev_month = 12;
	$prev_year = $cYear - 1;
}
if ($next_month == 13 ) {
	$next_month = 1;
	$next_year = $cYear + 1;
}
?>

$ cMonth dan $ cYear digunakan untuk bulan dan tahun yang sedang berjalan sekarang dan ditampilkan pada kalender. Untuk link “Sebelumnya” dan “Next” kita perlu parameter korespondennya. Kami menetapkan prev_year $ dan $ next_year untuk waktu sekarang. Lain kali kita harus mengganti ini tapi tidak apa – apa untuk saat ini. Kita juga harus mengatur parameter untuk bulan berikutnya dan sebelumnya dengan menambahkan dan mengurangkan 1. Kita harus memeriksa apakah parameter yang kita belum hilang di atas atau di bawah batas. Karena ada 12 bulan dalam setahun jika parameter kita pergi ke 13 maka itu berarti bahwa setahun lagi telah berlalu dan kami harus mengatur “bulan” Parameter kita kembali ke 1 (Januari) dan tambahkan 1 untuk “tahun” parameter kita. Sebaliknya adalah ketika kita kembali ke waktu dan “bulan” Parameter kita pergi ke 0. Kemudian kita harus mengurangi “tahun” kami parameter dengan 1 dan mengatur paramether bulan untuk 12 (Desember). Sekarang seperti kita menetapkan link selama berbulan-bulan sebelumnya dan berikutnya kita beralih ke bagaimana membangun kalender yang sebenarnya.

Kita membuat sebuah tabel yang akan memegang kalender dan menambahkan link dalam satu baris. Lalu kita tambahkan sebuah meja di baris baru yang akan memegang hari. Termasuk juga nama bulan dan tahun di pertama pada tabel baru. Tapi karena array adalah nol berbasis, kita perlu mengurangi satu dari nilai “bulan” parameter untuk mendapatkan nama yang benar.

<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">&nbsp;&nbsp;<a href="<?php echo $_SERVER["PHP_SELF"] . "?month=". $prev_month . "&year=" . $prev_year; ?>" style="color:#FFFFFF">Previous</a></td>
<td width="50%" align="right"><a href="<?php echo $_SERVER["PHP_SELF"] . "?month=". $next_month . "&year=" . $next_year; ?>" style="color:#FFFFFF">Next</a>&nbsp;&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="center">
<table width="100%" border="0" cellpadding="2" cellspacing="2">
<tr align="center">
<td colspan="7" bgcolor="#999999" style="color:#FFFFFF"><strong><?php echo $monthNames[$cMonth-1].' '.$cYear; ?></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 harus mengatur tanggal yang tepat untuk kalender kita. Kita harus membuat representasi integer tanggal sehingga kita dengan mudah dapat mengoperasikannya. Kemudian kita mendapatkan jumlah hari dari bulan yang dipilih dan representasi angka (0 untuk hari Minggu sampai 6 untuk Sabtu) dari hari pertama bulan. Semua fungsi-fungsi ini sepenuhnya dijelaskan dalam PHP Manual. Loop kita yang akan mencetak tanggal dimulai pada 0, karena hari-hari dalam seminggu mulai dari 0 (Minggu). Hal ini untuk loop melalui jumlah hari ditambah offset dari hari pertama bulan. Kita harus mencetak baris baru untuk setiap minggu. Kita memeriksa ini dengan modulus jumlah hari dalam satu minggu 7. Jika sama dengan 0 maka itu adalah awal minggu dan kita mencetak baris <tr> tag terbuka dan jika itu adalah akhir minggu 6 kita cetak menutup tag untuk minggu ini </ tr>. Semua yang perlu kita lakukan adalah untuk memeriksa apakah hari itu kami cetak sebelum $ startday. Dalam hal ini kita cetak tag kosong. Kalau tidak, kita harus mencetak tanggal. Kami membuatnya dengan mengurangkan $ startday. kita harus menambahkan satu karena kita tidak ingin tanggal kami mulai dari 0.

<?php
$timestamp = mktime(0,0,0,$cMonth,1,$cYear);
$maxday = date("t",$timestamp);
$thismonth = getdate ($timestamp);
$startday = $thismonth['wday'];
for ($i=0; $i<($maxday+$startday); $i++) {
	if(($i % 7) == 0 ) echo "<tr>n";
	if($i < $startday) echo "<td></td>n";
	else echo "<td align='center' valign='middle' height='20px'>". ($i - $startday + 1) . "</td>n";
	if(($i % 7) == 6 ) echo "</tr>n";
}
?>

Sekarang kita menambahkan hanya sentuhan finishing html dan kita pun telah selesai membuat kalender dengan script php.

</table>
</td>
</tr>
</table>

 

Source info

Terima kasih anda telah mengunjungi azizalfian.com.

Komentar ditutup.