Cara buat ComboBox PHP tanggal lahir dan input ke Database MySQL

Membuat pilihan Tanggal dengan ComboBox pada PHP

Biasanya ketika kita membuat suatu web, pastinya terdapat unsur tanggal bukan? Nah, disini saya akan menuliskan bagaimana cara membuatnya dengan bahasa PHP. Salah satu cara untuk memilih tanggal adalah menggunakan ComboBox. Tujuan dengan menggunakan ComboBox adalah untuk mempermudah user dalam memilih pilihan yang sudah disediakan.

Hal ini juga menghindari kesalahan user dalam penulisan suatu format tanggal yang telah disediakan. Untuk lebih jelasnya, lihat pelajari dan coba script berikut ini:

<?php
//array yang digunakan pada ComboBox bulan
$bln=array(1=>"Januari","Februari","Maret","April","Mei",
"Juni","July","Agustus","September","Oktober",
"November","Desember");

//membuat tanggal 1-31 pada ComboBox
echo "Tanggal:<select name=tanggal>
<option value=01 selected>01</option>";
for($tgl=2; $tgl<=31; $tgl++){
$tgl_leng=strlen($tgl);
if ($tgl_leng==1)
$i="0".$tgl;
else
$i=$tgl;
echo "<option value=$i>$i</option>";}
echo "</select>";

//membuat bulan ComboBox
echo "<select name=bulan>
<option value=Januari selected>Januari</option>";
for($bulan=2; $bulan<=12; $bulan++){
echo "<option value=$bulan>$bln[$bulan]</option>";}
echo "</select>";

//Membuat tahun 1900 sampai sekarang pada ComboBox
$now=date("Y");
echo "<select name=tahun>
<option value=1900 selected>1900</option>";
for($thn=1901; $thn<=$now; $thn++){
echo "<option value=$thn>$thn</option>";}
echo "</select>";
?>

Nah, kita bisa lihat dengan menggunakan beberapa baris kode di atas, kita sudah biasa membuat pemilhan tanggal-bulan-tahun. Misalnya dari ComboBox tanggal, hanya dengan beberapa baris kode sudah terdapat pilihan tanggal antara tanggal 1-31. Begitu juga dengan tahun, sudah terdapat pilihan antara tahun 1900 hingga sekarang.  Nah, mudah bukan? Sekarang giliran anda untuk mencoba.


 Menyimpan Pilihan Tanggal ComboBox ke MySQL
...
menulis artikel mengenai tanggal dengan combobox yang fungsinya yaitu memilih tanggal, bulan dan tahun dengan combobox, maka kali ini saya akan menuliskan artikel bagaimana cara menyimpan pilihan tanggal tersebut ke database. Dalam hal ini kita akan menyimpan ke database MySQL. Masih menggunakan bahasa pemrograman PHP.

Dalam kasus ini, kita akan menggunakan coding sebelumnya yang dapat dilihat pada artikel filter pilihan tanggal pada combobox. Ok, langsung saja kita bahas coding tersebut. Pertama-tama kita akan membuat table database terlebih dahulu dengan asumsi bahwa database sudah terbuat dan bernama blog.

CREATE TABLE `tanggal` (
`id` int(5) NOT NULL auto_increment,
`terpilih` date NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Setelah database terbentuk, sekarang kita membuat beberapa coding yang fungsinya berbeda namun masih berada pada satu file. Coding yang pertama ini merupakan koneksi antara PHP dengan database.
<?php
$server = "nama_server";
$username = "nama_user_server";
$password = "pasword_user";
$database = "nama_database_yang_digunakan";

// Koneksi dan memilih database di server
mysql_connect($server,$username,$password) or die("Koneksi gagal");
mysql_select_db($database) or die("Database tidak bisa dibuka");
?>
  • nama_server adalah server database yang digunakan. Secara default adalah localhost.
  • nama_user_server adalah nama user yang dapat mengakses database tersebut. Secara default adalah root.
  • password_user adalah password user yang dapat mengakses database. Secara default kosong.
  • nama_database_yang_digunakan adalah nama database yang digunakan. Pada kasus kali ini, database yang digunakan bernama blog.
Setelah itu, letakkan coding berikut di bawah coding koneksi. Coding ini untuk menampilkan pilihan tanggal pada combobox
<form method="POST">
<?php
//array yang digunakan pada ComboBox bulan
$bln=array(1=>"Januari","Februari","Maret","April","Mei",
"Juni","July","Agustus","September","Oktober",
"November","Desember");

//membuat tanggal 1-31 pada ComboBox
echo "Tanggal: <select name=tanggal>
<option value=01 selected>01</option>";
for($tgl=2; $tgl<=31; $tgl++){
$tgl_leng=strlen($tgl);
if ($tgl_leng==1)
$i="0".$tgl;
else
$i=$tgl;
echo "<option value=$i>$i</option>";}
echo "</select> ";

//membuat bulan ComboBox
echo " <select name=bulan>
<option value=1 selected>Januari</option>";
for($bulan=2; $bulan<=12; $bulan++){
echo "<option value=$bulan>$bln[$bulan]</option>";}
echo "</select> ";

//Membuat tahun 1900 sampai sekarang pada ComboBox
$now=date("Y");
echo " <select name=tahun>
<option value=1900 selected>1900</option>";
for($thn=1901; $thn<=$now; $thn++){
echo "<option value=$thn>$thn</option> ";}
echo "</select>";
?>
<br><input type="submit" value="Pilih" name="pilih"/>
</form>
Setelah itu, tambahkan lagi beberapa baris coding yang berfungsi sebagai proses untuk menyimpan ke database MySQL. Letakkan coding berikut ini di bawah coding untuk pilihan tanggal dengan combobox
<?php
//jika tombol pilih di klik
if($_POST[pilih]=="Pilih"){
$bulan=$_POST[bulan];$tanggal=$_POST[tanggal];$tahun=$_POST[tahun];
//filter pilihan tanggal
if(((($bulan==4)||($bulan==6)||($bulan==9)||($bulan==11))&&($tanggal==31))||
(($bulan==2)&&($tahun%4==0)&&(($tanggal==30)||($tanggal==31)))||
(($bulan==2)&&($tahun%4!=0)&&(($tanggal==29)||($tanggal==30)||($tanggal==31)))){
if((($bulan==4)||($bulan==6)||($bulan==9)||($bulan==11))&&($tanggal==31)){
echo "<table bgcolor='#FFFF99' width='100%'>
<tr>
<td>&#8226; Penulisan Tanggal 31 tidak sesuai dengan bulan.</td>
</tr>
</table>";
}
if(($bulan==2)&&($tahun%4==0)&&(($tanggal==30)||($tanggal==31))){
echo "<table bgcolor='#FFFF99' width='100%'>
<tr>
<td>&#8226; Pengaturan februari kabisat.</td>
</tr>
</table>";
}
if(($bulan==2)&&($tahun%4!=0)&&(($tanggal==29)||($tanggal==30)||($tanggal==31))){
echo "<table bgcolor='#FFFF99' width='100%'>
<tr>
<td>&#8226; Pengaturan februari bukan kabisat.</td>
</tr>
</table>";
}
}
//jika pilihan benar maka proses simpan dalam database
else{
mysql_query("insert into tanggal(terpilih) values ('$tahun-$bulan-$tanggal')");

echo "Berhasil disimpan";
echo "<meta http-equiv='refresh' content='3;url=index.php'>";

}
}
?>
Pada intinya, ketiga coding di atas, diletakkan dalam satu file. Mudah bukan? Selamat mencoba . 


thanks to :  Pandu Widiyaksono

1 comment:

  1. Bermanfaat banget, apalagi buat saya yang lagi belajar :)

    My blog

    ReplyDelete