TELAH DIBUKA !!!

Toko Ebook Tutorial "RosihanAri.Net"


Free Ebook Tutorial from Rosihan Ari's Blog

Tutorial Javascript | Tutorial PHP Dasar | Tutorial AJAX | Tutorial CSS | Tutorial FPDF | Tutorial Wordpress



Slot iklan tersedia, pasang iklan di atas

Ebook yang direkomendasikan untuk Anda
Ebook Panduan Praktis OOP di PHP

Editing Data Tanggal via Form dengan PHP


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

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.

[swf w=368 h=299]http://butikamalia.com/data/edit2.swf[/swf]

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

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

<?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??


Baca Juga Artikel Terkait
Script PHP untuk Mengedit Data Via Form
Mengetahui Nama Hari pada Tanggal Tertentu dengan PHP
Script PHP untuk Mencari Selisih Waktu dan Tanggal
Mencari Selisih Waktu dan Tanggal dengan SQL
Script PHP untuk Menampilkan Data dalam Tabel dengan Warna Baris Selang-seling



Slot iklan tersedia, pasang iklan di atas


Kata kunci: date edit - date php - edit script - edit tanggal - form edit - php script -


Ada 42 komentar dalam artikel ini.



  1. Gilank says:

    Mas, ko pas saya ganti data lain yg selain tgl, tglnya malah berubah jdi 0000-00-00 gitu ya?
    kenapa?
    thanks :)

    • rosihanari says:

      @gilank: mungkin ada yang salah di pembacaan data tanggalnya. Coba cek lagi komponen combo untuk tanggalnya mas, mungkin ada yang kurang tepat nulisnya.

  2. syawal says:

    Sebelumnya terimakasih, saya jadi dapat pencerahan, Mas saya mau tanya : tutorial mas sudah saya coba dan proses edit tanggal berhasil, tetapi jika pada form tersebut yang di edit bukan tanggalnya misal”nama” atau lainnya dan tanggalnya tetap itu saja artinya tidak di rubah, (Kenapa setelah proses update data, data tanggal di tabel mysql berubah menjadi “0000-00-00″. Mohon bantuannya, terima kasih.

  3. faizin says:

    Kalau Edit ComboBOX tanggal dalam kondisi kosong gimana yach?
    dalam artian dalam kondisi kosong opsi pilihan pada waktu kondisi kosong seperti pada waktu input

    tetapi jika sudah terisi baru, di combobox tentu sudah ada data tanggal

  4. asep says:

    mohon bantuannya para master php, saya mau tanya gimana script untuk nampilin menu dropdown tapi datanya di ambil dari database,..??

    mohon bantuannya…

  5. henry says:

    keren artikelnya sangat membantu, request contoh pembayaran dengan denda perbulan menggunakan tgl, mungkin sekedar logika php nya aja ….
    via email juga blh, makasih keep share
    top markotop nih blog

  6. maulid says:

    Pak Rosihan, mohon bantuannya. Bagaimana untuk mendapatkan minggu keberapa berdasarkan input tanggal (popup calendar), terima kasih atas bantuannya.

  7. tanggal malah jadi 0000-00-00

    solusinya gimana gan?

    • rosihanari says:

      @informatika11d: berarti data tanggalnya gak kesimpan ke database. coba cek lagi scriptnya ya..