Jumat, 20 Juli 2012

Membuat Kalender dengan PHP

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>';
?>
◄ Newer Post Older Post ►