You Now Here »

Script PHP Editing Data Tanggal via Form  (Read 3269 times - 46 votes) 

DANNY

G-Plus Author
  • ADMINISTRATOR
  • More Share Forum Topic
  • [MS] kepala suku
  • *
  • DANNY sangat terkenal!DANNY sangat terkenal!DANNY sangat terkenal!DANNY sangat terkenal!DANNY sangat terkenal!DANNY sangat terkenal!
  • Rep Power: 6
  • Join: September 30, 2009
  • Posts: 11,931
  • Poin: 193.409
    • WWW
  • IP member tracker Logged
Script PHP Editing Data Tanggal via Form
« on: May 30, 2010, 06:06:37 PM »


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.

Quote
Code: [Select]
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

Quote
Code: [Select]
<?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:

Quote
Code: [Select]
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??


sumber

  :beer:


View Mobile Web Short URL: