Pages

Rabu, 31 Juli 2013

Script PHP untuk Membuat Kalender

Web Development - drzpost.com - Iseng-iseng buat kalender dengan menggunakan PHP, kemudian mengambil data dari database di MySQL, misalnya tabel suatu event, kemudian mensinkronisasikan tanggal event yang ada di database ke program kalender PHP.
Di mana apabila ada event pada suatu tanggal maka, di kalender tersebut di tandai dengan warna latar yang berbeda. dan apabila diklik tanggal tersebut akan muncul deskripsi lengkap dari event tersebut.


Contoh data struktur tabelnya seperti ini :

--
-- Table structure for table `drzevent`
--

CREATE TABLE `drzevent` (
  `nomor` int(5) NOT NULL auto_increment,
  `tanggal` date NOT NULL,
  `waktu` varchar(20) NOT NULL,
  `tempat` varchar(30) NOT NULL,
  `acara` tinytext NOT NULL,
  `deskripsi` tinytext NOT NULL,
  PRIMARY KEY  (`nomor`)
)
Berikut adalah kode PHP untuk membuat kalender tersebut.
<html>
<head>
<title>DRZ Kalender</title>
<style>
table.tblkal {border-collapse:collapse;font-size:12pt;
color:black;font-family:verdana}
a.tgl{color:black;text-decoration:none}
td.nhari{color:white}
</style>
</head>
<body>
<?php
//////////////////////////////////////////////
//     Created by Desrizal Aug 2010         //
//////////////////////////////////////////////
mysql_connect("localhost","root","");
mysql_select_db("test");

$day[0] = "Sunday";
$day[1] = "Monday";
$day[2] = "Tuesday";
$day[3] = "Wednesday";
$day[4] = "Thursday";
$day[5] = "Friday";
$day[6] = "Saturday";

$day["Sunday"] = 0;
$day["Monday"] = 1;
$day["Tuesday"] = 2;
$day["Wednesday"] = 3;
$day["Thursday"] = 4;
$day["Friday"] = 5;
$day["Saturday"] = 6;

$bulan = date("n");
$thisbulan = date("F");
$bulanini = date("m");
$tanggal = date("j");
$hariini = date("l");
$hari = $day[$hariini];
$tahun = date("Y");

$query = mysql_query("select * from drzevent where month(tanggal)=$bulanini");
while($e=mysql_fetch_array($query)){
    $tglevent[] = $e['tanggal'];
    $judulacara[] = $e['acara']." jam : ".$e['waktu'];
}
switch($bulan){
    case 1 : $jhari = 31; break;
    case 2 :
        $sisa = $tahun%4;
        if(!$sisa){
            $jhari = 29;
        }else{
            $jhari = 28;
        }
    break;
    case 3 : $jhari = 31; break;
    case 4 : $jhari = 30; break;
    case 5 : $jhari = 31; break;
    case 6 : $jhari = 30; break;
    case 7 : $jhari = 31; break;
    case 8 : $jhari = 31; break;
    case 9 : $jhari = 30; break;
    case 10 : $jhari = 31; break;
    case 11 : $jhari = 30; break;
    case 12 : $jhari = 31; break;
}

//kode untuk mencari hari pada tanggal 1
//---------------------
$t1 = 1-($tanggal%7);
$tanggal1 = $t1+$hari;
if($tanggal1<0){
    $tanggal1=$tanggal1+7;
}
$hari1 = $day[$tanggal1];
if($tanggal1==0 || $tanggal1==1 || $tanggal1==2 || $tanggal1==3 || $tanggal1==4){
    $jbaris = 5;
}else{
    $jbaris = 6;
}
//----------------------
?>
<table border=1 bordercolor="#ababab" class=tblkal
cellpadding=5 cellspacing=1>
<tr><td bgcolor=#336699 colspan=7><font color=white><b>KALENDER</B>
(<?php echo "$thisbulan-$tahun";?>)</td></tr>
<tr>
    <td width="14%" valign="middle" bgcolor="red" class=nhari><b>S</b></td>
    <td width="14%" valign="middle" bgcolor="black" class=nhari><b>M</b></td>
    <td width="14%" valign="middle" bgcolor="black" class=nhari><b>T</b></td>
    <td width="14%" valign="middle" bgcolor="black" class=nhari><b>W</b></td>
    <td width="14%" valign="middle" bgcolor="black" class=nhari><b>T</b></td>
    <td width="15%" valign="middle" bgcolor="black" class=nhari><b>F</b></td>
    <td width="15%" valign="middle" bgcolor="black" class=nhari><b>S</b></td>


</tr>
<?php
//kode untuk menampilkan tanggal dalam bentuk tabel
//-------------------------------------------------
$dayi = 0;
$dayx = 1;
for($i=0;$i<$jbaris;$i++){
    echo "<tr>";
    for($j=0;$j<7;$j++){
        if($j==0){
                $bgcolor="red";
            }else{
                $bgcolor="#FFFF82";
        }
        if($dayi>=$day[$hari1]&&$dayx<=$jhari){
            if($dayx<10){
                $dayx2 = "0".$dayx;
            }else{
                $dayx2 = $dayx;
            }
            $date = "$tahun-$bulanini-$dayx2";
            $k=0;
            $class = "normal";
            $title = "";
            while($k<count($tglevent)){
                if($date==$tglevent[$k]){
                    $class = "event";
                    $bgcolor = "lightblue";
                    $title = $judulacara[$k];
                    break;
                }
                $k++;
            }
            if($dayx==$tanggal){
                echo "<td bgcolor=$bgcolor><b><a title=\"$title\"
                class=tgl href=kalender.php?tgl=$date>$dayx</a></b></td>";
            }else{
                echo "<td bgcolor=$bgcolor><a title=\"$title\"
                class=tgl href=kalender.php?tgl=$date>$dayx</a></td>";
            }
            $dayx++;
        }else{
            echo "<td bgcolor=$bgcolor> </td>";
        }
        $dayi++;
    }
    echo "</tr>";
}
//-------------------drz---------------------------:)
?>
</table>
<hr>
<?php
$tgl = $_GET['tgl'];
$acara = mysql_query("select * from drzevent where tanggal='$tgl'");
while($a=mysql_fetch_array($acara)){
    echo "Acara : ". $a['acara']."<br>";
    echo "Tanggal : ". $a['tanggal']."<br>";
    echo "Tempat : ". $a['tempat']."<br>";
}
?> 

Download Source Code

3 komentar:

  1. kok error banyak sekali ya?
    Notice: Undefined variable: tglevent in C:\xampp\htdocs\website dhy\kalender.php on line 123

    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\website dhy\kalender.php on line 44


    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\website dhy\kalender.php on line 154

    BalasHapus
  2. errornya gila banyak

    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\kalender\kalender.php on line 44

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123

    Notice: Undefined variable: tglevent in D:\xampp\htdocs\kalender\kalender.php on line 123
    KALENDER (March-2016)
    S M T W T F S
    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 28 29 30 31

    Notice: Undefined index: tgl in D:\xampp\htdocs\kalender\kalender.php on line 152

    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\kalender\kalender.php on line 154

    BalasHapus