Friday, May 30, 2014

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.

No comments:

Post a Comment