membuat kalender bulan menggunakan php



Jika 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:80pxfont-size:11pxposition:relative; } * html div.calendar-day { height:80px; }
td.calendar-day:hover   { background:#eceff5; }
td.calendar-day-np  { background:#eeemin-height:80px; } * html div.calendar-day-np { height:80px; }
td.calendar-day-head { background:#cccfont-weight:boldtext-align:centerwidth:120pxpadding:5pxborder-bottom:1px solid #999border-top:1px solid #999border-right:1px solid #999; }
div.day-number      { background:#999padding:5pxcolor:#ffffont-weight:boldfloat:rightmargin:-5px -5px 0 0width:20pxtext-align:center; }
/* shared */
td.calendar-day, td.calendar-day-np { width:120pxpadding:5pxborder-bottom:1px solid #999border-right:1px solid #999; }
</style>


Setelah css, anda memerlukan sebuah fungsi untuk menampikan kalender 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 
                               



Anda juga bisa kembangkan kalender diatas untuk berbagai kondisi keperluan dengan mengubah beberapa baris function draw_calendar

Silahkan lihat demo kalender dengan php disini. atau download scriptnya disini.

sumber http://www.zainalhakim.web.id/posting/membuat-kalender-bulan-dengan-php.html

semoga bermanfaat 
terimakasih

Post a Comment