Membuat aplikasi kalender dengan PHP

Dalam membuat aplikasi kita kadang meminta user memasukkan tgl lahir,  tanggal mulai masuk sekolah dan lainlain. Kita bisa membuat aplikasi kalender yang membuat user merasa nyaman memilih tanggalnya.

Misal aplikasinya sebagai berikut:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
</head>
<script language="javascript">
function buka_tgl(s_url)
{
    s_param = "width=300,height=300,scrollbars=1,resizable=1";
    new_window = window.open(s_url,"tgl",s_param);
    new_window.focus();
}
</script>
<body>
<form name=tgl_coba>
<br>Mulai:<input type="text" name="tgl_mulai"/>
<a href=javascript:buka_tgl('tanggal.php?tgl_init='+document.tgl_coba.tgl_mulai.value+'&balik=tgl_coba.tgl_mulai&balik_format=dd-mm-YYYY')><img src=tgl.png border=0></a>dd-mm-YYYY
<br>Selesai:<input type="text" name="tgl_selesai"/><a href=javascript:buka_tgl('tanggal.php?tgl_init='+document.tgl_coba.tgl_selesai.value+'&balik=tgl_coba.tgl_selesai&balik_format=dd-mm-YYYY')><img src=tgl.png border=0></a> dd-mm-YYYY
</form>
</body>
</html>

Kemudian untuk kalendernya sebagai berikut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<style type="text/css">
*
{
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10pt;
    margin:0;
    padding:0;
   
}
.dt_init
{
    background-color: #99ffff;
}

.sabtu
{
    background-color: #f8ebbd;
}

.minggu
{
    background-color: #fce1ed;
}

</style>
    <title>Tanggal</title>
</head>
<body>
<form method="POST" name="myform">
<?php
$a_bulan['01']="Januari";
$a_bulan['02']="Februari";
$a_bulan['03']="Maret";
$a_bulan['04']="April";
$a_bulan['05']="Mei";
$a_bulan['06']="Juni";
$a_bulan['07']="Juli";
$a_bulan['08']="Agustus";
$a_bulan['09']="September";
$a_bulan['10']="Oktober";
$a_bulan['11']="November";
$a_bulan['12']="Desember";

$balik=$_GET['balik'];
if ($balik=="")
{
    $balik=$_POST['balik'];
}

echo "<script language=\"javascript\">
function balikin(nilai)
{
    opener.document.$balik.value=nilai;
    self.close();
}
</script>";

$balik_format=$_GET['balik'];
$balik_format=$_GET['balik_format'];
if ($balik_format=="")
{
    $balik_format=$_POST['balik_fomat'];
}


$tgl_init=$_GET['tgl_init'];
if ($tgl_init=="")
{
    $tgl_init=$_POST['tgl_init'];
    if ($tgl_init=="")
    {
          if ($balik_format=="dd-mm-YYYY")
          {
               $tgl_init=date("d-m-Y",time());
        }
        else
        {
               $tgl_init=date("Y-m-d",time());
        }
    }
}

$bulan_tampil=$_POST['bulan_tampil'];
if ($bulan_tampil=="")
{
    if ($balik_format=="dd-mm-YYYY")
     {
           list ($temp,$bulan_tampil,$tahun_tampil)=explode("-",$tgl_init);
    }
    else
    {
           list ($tahun_tampil,$bulan_tampil,$temp)=explode("-",$tgl_init);
    }
}
if ($tahun_tampil=="")
{
    $tahun_tampil=$_POST['tahun_tampil'];
}
/*if ($tahun_tampil=="")
{
    $tahun_tampil=date("Y",time());   
}
*/
$tot_tanggal=date("t",strtotime("$tahun_tampil-$bulan_tampil-01"));
$day_first=date("N",strtotime("$tahun_tampil-$bulan_tampil-01"));

echo "\n<select name=\"bulan_tampil\" onChange=\"document.myform.submit()\">";
for ($b=1;$b<=12;$b++)
{
    if ($b<10)
    {
       $bs="0$b";
    }
    else
    {
       $bs="$b";      
    }
   
   
    if ($bs==$bulan_tampil)
    {
       $selected="selected=\"selected\"";
    }
    else
    {
       $selected="";
    }
    echo "\n <option value=\"$bs\" $selected>".$a_bulan[$bs]."</option>";
}
echo "\n</select>";

echo "\n<select name=\"tahun_tampil\" onChange=\"document.myform.submit()\">";
$thn_start=$tahun_tampil-50;
$thn_end=$tahun_tampil+50;
for ($t=$thn_start;$t<=$thn_end;$t++)
{
    if ($t==$tahun_tampil)
    {
       $selected="selected=\"selected\"";
    }
    else
    {
       $selected="";
    }
    echo "\n <option value=\"$t\" $selected>$t</option>";
}

echo "\n</select>";
echo "\n <input type=\"hidden\" name=\"tgl_init\" value=\"$tgl_init\">";
echo "\n <input type=\"hidden\" name=\"balik\" value=\"$balik\">";
echo "\n <input type=\"hidden\" name=\"balik_format\" value=\"$balik_format\">";

echo "<div>".$a_bulan[$bulan_tampil]." $tahun_tampil </div>";
echo "<table border=\"1\">";
echo "<tr>
<td>Sen</td>
<td>Sel</td>
<td>Rab</td>
<td>Kam</td>
<td>Jum</td>
<td class=\"sabtu\">Sab</td>
<td  class=\"minggu\">Ming</td>
</tr>
";
echo "<tr>";
$w=1;
for ($a=1;$a<$day_first;$a++)
{
    echo "<td></td>";
    $w++;
}

for ($d=1;$d<=$tot_tanggal;$d++)
{
    if ($w==1)
    {
       echo "
       <tr>";
    }
    if ($d<10)
    {
       $ds="0$d";
    }
    else
    {
       $ds="$d";
    }
   
    if ($w==6)
    {
       $class="class=\"sabtu\"";
    }
    else if ($w==7)
    {
       $class="class=\"minggu\"";
    }
    else
    {
       $class="";
    }

    if ($balik_format=="dd-mm-YYYY")
    {
        $nilai="$ds-$bulan_tampil-$tahun_tampil";
    }
    else
    {
        $nilai="$tahun_tampil-$bulan_tampil-$ds";
    }

    if ($tgl_init==$nilai)
    {
       $class="class=\"dt_init\"";
    }

    echo "<td $class align=\"center\"> <a href=\"javascript:balikin('$nilai');\">$d</a></td>";
    $w++;
    if ($w==8)
    {
       $w=1;
       echo "
       </tr>";
    }
}
while ($w>1 && $w<8)
{
    echo "<td></td>";
    $w++;
    if ($w==8)
    {
       echo "
       </tr>";
    }
}
   

echo "</table>";
?>   
</form>
</body>
</html>

Untuk contohnya silahkan klik http://www.prowebpro.com/pic/php/tanggal_panggil.php

Kunjungi www.prowebpro.com untuk menambah wawasan anda.

Share |

Portfolio

www.wearnespc.comwww.solper.comwww.autojaya.comwww.intisolar.comsmartprint.co.idwww.ottopharm.comoliser.co.idAnd More ....

Livechat

  • LiveZilla Live Help

  • Aris G

  • Agus

  • Fazri

  • Rudi S

  • Bincar H

Address

PT. Proweb Indonesia
Perkantoran Duta Merlin No F4
Jl. Gadjah Mada 3-5
Jakarta Pusat

 

Phone : 021 - 2636 3170
     
Mobile : 0856 - 922 622 03
    0812 - 806 2772
    0816 - 180 8005
     
Fax : 021 - 633 5765
     
Web : www.proweb.co.id