Tuesday, July 10, 2012

PHP (mengedit data melalui form entry html)


Panduan mengedit data melalui form entry html di PHP

Pada kesempatan kali ini kita akan mencoba untuk membuat form edit data melalui sebuah form yaitu employee_edit.html yang kita tempatkan pada folder templates adapun langkah-langkah sbb:
  1. Copykan file template employee_add.html menjadi employee_edit.html
  2. Aktifkan program editor Notepad++ atau PhpEditor kemudian kita buka file employee.php
  3. Tambahkan fungsi baru pada file employee.php yaitu fungsi untuk menampilkan form edit data hingga program dapat dilihat sbb:
<?php
require_once "clsemployee.php";
$mPage = new MainPage();
$mod = $_REQUEST['mod'];

switch ($mod) {
  case 'editPos':
  $mPage -> showeditemp();
  break;

  case 'addPos':
  $mPage -> showtambahemp();
  break;
 
  default :
  $mPage -> showlistemployee(); 
   break;
}

?>
  1. Coba perhatikan source program diatas kita sudah menambahkan perintah baru yaitu :
  case 'editPos':
  $mPage -> showeditemp();
  break;
perintah diatas berarti kita akan membuat untuk kegiatan (modus) pengeditan data dengan mod=editPos akan menjalankan fungsi showeditemp ()

  1. Berikutnya buka file clsemployee.php kemudian tambahkan fungsi baru dengan nama showeditemp() sesuai dengan fungsi yang sudah kita deklarasikan di file employee.php seperti tampilan berikut :
<?php
      require_once("clsUtil.php");
      class MainPage extends Util
      {
     
      function showlistemployee()
      {
                  global $db;
                  $sqlUser          = "select * from dat_personil";                      
                  $rs = $db -> Execute($sqlUser);
              if (!$rs->RecordCount())
              {
                   $kosong = 'kosong';
                   $ulist[] = array(
                              'no'=>$kosong,
                              'posNIK'=>$kosong,                                                                                             'posNama'=>$kosong,
                              'posAlamat'=>$kosong,
                              'posTelp'=>$kosong,
                              'posEmail'=>$kosong                               
                                      );
              }
              else
              {
                  $no = $index;
                  while ($ru_list = $rs->FetchRow()){                                     
                        ++$no;
                        $ulist[] = array(
                                          'no'=>$no,
                                          'posNIK'=>$ru_list['nip'],
                                                                                                                  'posNama'=>$ru_list['nama'],                                                                                'posAlamat'=>$ru_list['alamat'],
      'posTelp'=>$ru_list['telpon'],
      'posEmail'=>$ru_list['email'],
      'posgaji'=>number_format($ru_list['gaji'],0)
                                          );
                  }
              }
              $this->assign("pos", $ulist);
                              $this->display("employee.html");
      }

      function showeditemp()
      {
                  global $id,$db;                      
                  $id = $_GET['id'];
                  $sql_Emp = "select *,date_format(tgl_lahir, '%d/%m/%Y') as tglahir2 from dat_personil where nip='$id'";
                  $rs_Emp = $db->Execute($sql_Emp);                               
          if ($rs_Emp->RecordCount())
          {
        $pos_list = $rs_Emp->FetchRow();
                  $this->assign("id", $id);
                  $this->assign("nik", $pos_list['nip']);
                  $this->assign("name", $pos_list['nama']);
                  $this->assign("address", $pos_list['alamat']);
                  $this -> buatCombojabatan($pos_list['id_jabatan']);
                  if ($pos_list['tglahir2'] == '00/00/0000')
                              {$borndate = '';}       
                  else
                              {$borndate = $pos_list['tglahir2'];}
                  $this->assign("born_date",$borndate);
                  $this->assign("telpon_kantor", $pos_list['telpon']);
                  }
                  $this->display("employee_edit.html");
      }

      function showtambahemp()
      {
        $this -> buatCombojabatan();
        $this->display("employee_add.html");
      }
     
      function buatCombojabatan($selected = '')
                  {
                              global $db;
                              $sqlBidang     = "SELECT * FROM tab_jabatan order by nama_jabatan";
                              $rsw = $db->Execute($sqlBidang);
              if (!$rsw->RecordCount())
              {
                   $kosong = 'kosong';
                   $jabatan_id[] = $kosong;
                   $jabatan_list[] = $kosong;
              }
              else
              {

                  while ($row = $rsw->FetchRow()){

                  $selected_opt = '';
                  if ($row['id'] == $selected)
                  {
                  $selected_opt = 'selected=selected';
                  }
                  $jabatan[] = array('id' => $row['id'],                                                               'selected'          => $selected_opt,
                                                                                                                              'nama' => $row['nama_jabatan']);
                                         
                  }
              }
                  $this->assign("jabatan_opt", $jabatan);
                  }
     
     
}

?>

  1. Langkah berikutnya adalah merubah link edit pada file employee.html menjadi sbb :
<a title='Edit' href=employee.php?mod=editPos&id={$pos[detail].posNIK}><img src=images/page.gif height=14 width=14 border=0></a> |

  1. edit file employee_edit.html  pada baris <FORM method=post action=employee.php?mod=saveEmployee name=employee_form enctype="multipart/form-data">
menjadi <FORM method=post action=employee.php?mod=saveEditEmp name=employee_form enctype="multipart/form-data">

  1. Tambahkan fungsi baru lagi pada file employee.php yaitu fungsi untuk menyimpan proses edit data hingga program dapat dilihat sbb:
<?php
require_once "clsemployee.php";
$mPage = new MainPage();
$mod = $_REQUEST['mod'];

switch ($mod) {
  case 'saveEditEmp':
  $mPage -> saveditemp();
  break;

  case 'editPos':
  $mPage -> showeditemp();
  break;

  case 'addPos':
  $mPage -> showtambahemp();
  break;
 
  default :
  $mPage -> showlistemployee(); 
   break;
}
?>



  1. edit file clsemployee.php tambahkan fungsi saveditemp() sbb:
function saveditemp()
            {                      
                        global $db;
                        $id = $_POST['id'];
                        $nik = $_POST['nik'];
                        $name = $_POST['name'];
                        $jabatan = $_POST['jabatan'];
                        $born_date = $_POST['born_date'];
                        $address = $_POST['address'];
                        $telpon_kantor = $_POST['telpon_kantor'];
                        $sql = "UPDATE dat_personil set nip = '$nik',
                                    nama = '$name',
                                    alamat = '$address',
                                    tgl_lahir = STR_TO_DATE('$born_date', '%d/%m/%Y'),
                                    telpon = '$telpon_kantor',
                                    id_jabatan = '$jabatan'
                                    where nip = '$id'";
                                    $result = $db->Execute($sql);
                                               
            if($result)
                        $inserted = 1;
            else
                        $inserted = 0;
                                   
                    if($inserted)
                    {
                        echo "<script language=javascript>
                                alert('Terima Kasih, berhasil menyimpan data');
                                window.location='employee.php';
                             </script>";
                    }
                    else
                        echo "<script language=javascript>
                                alert('Gagal menyimpan data');
                                window.location='employee.php';
                             </script>";
            }

  1. Setelah membuat fungsi-fungsi baru dan membuat file employee_edit.html, langkah selanjutnya menguji coba program tersebut melalui browser

SELAMAT MENCOBA

Share : PHP (mengedit data melalui form entry html)

Related Posts

PHP (mengedit data melalui form entry html)
4/ 5
Oleh