Mau kaos (T-shirt) Wordpress keren? (Selengkapnya)
Dapatkan Script SMS Gateway PHP + MySQL

Seperti: software pengirim SMS massal, SMS survei, SMS polling, SMS quick count, SMS dakwah, Web2SMS dan masih banyak lagi... semuanya berbasis PHP & MySQL
[Info Lengkap...]



Editing Data Tanggal via Form dengan PHP


August 31st, 2008 | by rosihanari | Cetak Artikel Ini Cetak Artikel Ini

Pada artikel kali ini akan dibahas bagaimana melakukan edit data berupa tanggal melalui form, yang diintegrasikan dengan script PHP. Adapun data tanggal disimpan dalam database MySQL.

Proses edit data tanggal melalui form ini nanti menggunakan komponen combobox, yang terdiri dari 3 bagian, yaitu untuk tanggal, bulan dan tahun.

Sebagai ilustrasi, perhatikan video berikut ini yang menampilkan gambaran proses edit data tanggal.

If you can see this, then you might need a Flash Player upgrade or you need to install Flash Player if it's missing. Get Flash Player from Adobe.

Untuk keperluan studi kasus yang akan dibahas di sini, kita buat tabel berikut ini

1
2
3
4
5
6
CREATE TABLE mhs (
nim varchar(10),
namaMhs varchar(30),
tglLahir date,
PRIMARY KEY  (`nim`)
) ;

Kemudian silakan isi record sebarang pada tabel tersebut.

Perlu jadi catatan di sini, bahwa format data tanggal dalam MySQL memiliki format YYYY-MM-DD (tahun-bulan-tanggal).

Nah selanjutnya kita buat script PHPnya untuk keperluan edit data

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?php
 
mysql_connect("namahost","dbuser","dbpass");
mysql_select_db("dbname");
 
$op = $_GET['op'];
 
// proses untuk edit data yang akan menampilkan
// form edit data
 
if ($op == "edit")
{
   $nim = $_GET['nim'];
 
   $query = "SELECT * FROM mhs WHERE nim = '$nim'";
   $hasil = mysql_query($query);
   $data  = mysql_fetch_array($hasil);
 
   // memecah tanggal dari MySQL
   // menggunakan separator '-'
 
   $pecahTanggal = explode("-", $data['tglLahir']);
   $tanggal = $pecahTanggal[2];
   $bulan   = $pecahTanggal[1];
   $tahun   = $pecahTanggal[0];
 
   echo "<form method=\"post\" action=\"".$_SERVER['PHP_SELF'].
        "?op=update\">";
   echo "<table border=\"1\">";
   echo "<tr><td>NIM</td><td><input type=\"text\" name=\"nim\" value=\"
        ".$data['nim']."\"></td></tr>";
   echo "<tr><td>Nama Mahasiswa</td><td><input type=\"text\"
         name=\"namaMhs\" value=\"".$data['namaMhs']."\"></td></tr>";
   echo "<tr><td>Tanggal Lahir</td><td>";
 
   // menampilkan pilihan combobox untuk tanggal
 
   echo "<select name=\"tgl\">";
   for ($tgl=1; $tgl<=31; $tgl++)
   {
       if ($tgl == $tanggal) echo "<option value=\"
                                  ".$tgl."\" selected>".$tgl.
                                  "</option>";
       else echo "<option value=\"".$tgl."\">".$tgl."</item>";
   }
   echo "</select>";
 
   // menampilkan pilihan combobox untuk bulan
 
   echo "<select name=\"bln\">";
   for ($bln=1; $bln<=12; $bln++)
   {
       if ($bln == $bulan) echo "<option value=\"
                                 ".$bln."\" selected>".$bln.
                                 "</option>";
       else echo "<option value=\"".$bln."\">".$bln."</option>";
   }
   echo "</select>";
 
   // menampilkan pilihan combobox untuk tahun
   // dibatasi hanya mulai th. 1940 - 2008
 
   echo "<select name=\"thn\">";
   for ($thn=1940; $thn<=2008; $thn++)
   {
       if ($thn == $tahun) echo "<option value=\"
                                ".$thn."\" selected>".$thn.
                                "</option>";
       else echo "<option value=\"".$thn."\">".$thn."</option>";
   }
   echo "</select>";   
 
   echo "</td></tr>";
   echo "</table>";
   echo "<input type=\"hidden\" name=\"nimLama\" value=\"
        ".$data['nim']."\">";
   echo "<input type=\"submit\" name=\"submit\"
         value=\"Simpan Perubahan\">";
   echo "</form>";
}
else if ($op == "update")
     {
        $nim = $_POST['nim'];
        $namaMhs = $_POST['namaMhs'];
        $nimLama = $_POST['nimLama'];        
 
        // menyambung tanggal sesuai format MySQL (thn-bln-tgl) 
 
	$tglLahir = $_POST['thn']."-".$_POST['bln']."-".$_POST['tgl'];
 
        $query = "UPDATE mhs SET nim = '$nim', namaMhs = '$namaMhs',
                  tglLahir = '$tglLahir' WHERE nim = '$nimLama'";
        $hasil = mysql_query($query);
        if ($hasil) echo "<p>Proses Update Sukses</p>";
        else echo "<p>Proses Update Gagal</p>";
     }
 
?>
 
<table border="1">
<tr>
    <th>No</th>
    <th>NIM</th>
    <th>Nama Mahasiswa</th>
	<th>Tgl Lahir</th>
    <th>Action</th>
</tr>
 
<?php
 
$no = 1;
$query = "SELECT * FROM mhs";
$hasil = mysql_query($query);
while ($data = mysql_fetch_array($hasil))
{
   echo "<tr>";
   echo "<td>".$no."</td>";
   echo "<td>".$data['nim']."</td>";
   echo "<td>".$data['namaMhs']."</td>";
   echo "<td>".$data['tglLahir']."</td>";
   echo "<td><a href=\"".$_SERVER['PHP_SELF']."?op=edit&nim=
        ".$data['nim']."\">Edit</a></td>";
   echo "</tr>";
   $no++;
}
 
?>

Coba perhatikan… video di atas, setelah muncul form edit, maka tanggal, bulan dan tahun dalam combobox langsung menampilkan sesuai dengan yang di database. Hal ini karena adanya tag ’selected’ pada tag <option></option> dalam combobox. Sebagai contoh:

if ($tgl == $tanggal) echo<option value=\”".$tgl.”\” selected>”.$tgl.”</option>”;

lantas… apa maksudnya IF() tersebut? Maksudnya adalah apabila nilai tanggal dalam increment ($tgl) sama dengan tanggal yang ada dalam database, maka <option> untuk tanggal tersebut ’selected’, artinya tanggal yang muncul (atau terpilih) dalam combobox adalah tanggal yang sesuai dalam database. Hal ini juga berlaku untuk bulan dan tahun.

Mudah bukan??


Beberapa artikel terkait


Share this article on:

Kata kunci: PHP -


Ada 30 komentar dalam artikel ini.

  1. Taufan says:

    Hi…

    Thanks ya atas infonya.
    Oh ya saya mau menanyakan beberapa hal lagi nih.
    Klo skip php ada yang khusus buat button? Yang slalu saya pakai itu penggabungan dengan javascript untuk buat button. Klo ada, informasiin dong skip nya untuk file button. (semacam drop down menu atau horizontal menu).

    Saya tunggu secepatnya ya???

  2. anton says:

    cara membuat menu update data di php seperti update di antivirus gmn?
    misal kalo saya mau update data lngsng dari tampilan web bukan dari php myadmin…

    tolong dikirim lewat email saya or di situs ini..

  3. rosihanari says:

    maksudnya update seperti di antivirus bagaimana mas Anton?

  4. apri21 says:

    sebelumnya sy minta maaf, karena masih pemula, pertanyaanya yg aneh2.
    sudah lama sy mencari artikel ttg input tanggal. memang banyak Date picker yg bisa dipakai, tp menurut sy kurang praktis, kr user harus mengklik dulu ikon datepicker, baru bisa milih tanggal.

    kebetulan ketemu artikel ini. dimana tanggal yg di inputkan di form edit, dibalik, agar sesuai dengan format di mysql (Y-m-d).

    cuma saya kok masih belum paham ya. klo berkenan sy minta bantuan artikel ttg input, menampilkan dan editing anggal di textfield (mis. 02-12-2008) lalu di proses dg dibalik sesuai format mysql (2008-12-02) baru insert ke database

  5. rosihanari says:

    to apri2: untuk membalik tanggal, idenya adalah dengan memecahnya menjadi bagian tanggal, bulan dan tahun yang tersendiri. Anda bisa gunakan function explode(“-”, $tanggal); Selanjutnya bagian-bagian pecahannya tsb disusun kembali menjadi format tanggal yang diinginkan.

  6. okto says:

    klo kabisat gmn ??email me yach …thx

  7. rosihanari says:

    to okto: kalo field tanggal anda di database menggunakan DATE, maka secara otomatis ada semacam filter. Misal anda pilih tanggal 29 Pebruari 2007, maka data tidak akan tersimpan.

  8. jaka says:

    Terima kasih kepada mas rosihanari untuk blog yang keren dan tujuan yang mulia untuk berbagi ilmu. sebelumnya maaf saya pemula dan mungkin komen saya kurang relevan dengan artikel diatas. saya sedang eksperimen membuat blog dikomputer saya. pertanyaan saya, mengapa tampilan waktu dan tanggal pada blog yg saya buat tidak sama dengan waktu dan tanggal yang ada pada windows,bagaimana cara menyamakan waktu pada tampilan blog dan waktu pada windows. terima kasih.

  9. rosihanari says:

    to jaka: anda membuat sendiri blognya dengan script buatan sendiri? atau hanya dengan instal CMS yang telah ada? kalau buat sendiri, anda gunakan perintah apa untuk membaca tanggal dan waktunya?

  10. rizky says:

    makasih maz atas segala ilmu yg dah dibagikan., TAku yg semula membingungkan jadi ada pencerahan.,



Tolong beri komentar donk!

Komentar Anda akan berguna untuk kemajuan blog ini.


Mohon maaf, komentar yang menggunakan email palsu atau komentar bernada negatif atau cemooh secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil dalam daftar komentar.

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

*
Untuk membuktikan bahwa komentar Anda bukan spam, tulis kata yang muncul dalam gambar di bawah ini. Bila Anda tidak bisa membaca kata dalam gambar, klik pada gambar tersebut untuk mendengarkan suara dari kata tersebut
Click to hear an audio file of the anti-spam word