Menyimpan Pilihan Tanggal ComboBox ke MySQL

Share/Bookmark

Nah, setelah beberapa waktu lalu saya 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 nyengir. Sebagai contoh hasil, silahkan buka halaman ini http://xinthinx.us/demo/save-date/.

download

8 Komentar


Komentar anda sangat berguna bagi kemajuan blog ini.
Corat-coret said...

bos kalau misal input ke tabel mysSQl : nama, alamat, dan tanggal lahir dengan php yg berbeda bagaimana caranya?

misal : form input di input.php
perintah insertnya di insertdata.php

mohon batuannya kalau panjang kirim via email aja bos ke joy.link7@gmail.com

thanks
Pandu Widiyaksono said...

problem solved ya gan dengan chatingan tadi :)

Kahfie Hudson said...

gan kalo misalnya kita mau nyimpen tanggal di table yg udah kita buat sebelumnya gimana?misalnya saya bikin tabel namanya customer nah didalem customer itu kan ada field salah 1nya tanggal, nah cara nyimpennya gimana?
Pandu Widiyaksono said...

kan pake insert query biasa aja gan, gini aja

mysql_query("insert into nama_tabel(nama_field) values ('$tahun-$bulan-$tanggal')");

lalu values-nya pada contoh di atas kan ngambil:
- tahun = $tahun
- bulan = $bulan
- tanggal = $tanggal

terus klo digabungin jadinya gini gan $tahun-$bulan-$tanggal

contoh diatas itu klo tipe data pada field adalah 'date', jadi disesuaikan gitu deh biar formatnya gak bentrok.

Anonymous said...

maaf gan mau nanya klo ingin menampilkan dua tanggal gimana,,???tolong bantuannya soalnya lagi garap TA kok kejanggal dengan scrip tanggal nii,,

misal tgl chekin dan chekout ,trus cara pengurangannya buat lama menginapnya gimana gan ???
BJuser said...

Mantaaap gan
Anonymous said...

Gan, kalo dibalik gini gimana gan.. Menampilkan data dari combobox yang dipilih user?

Jadi user pilih tanggal, tar, data pada tanggal itu yang dimunculkan..
usman fauzi said...

matur tengkiyu sekali ilmunya mass..

Post a Comment

Xinthinx Blog Tutorial © 2008 Template by Dicas Blogger, emoticon from Yahoo! and KASKUS.

TOPO