Operasi CRUD pada PHP

Operasi CRUD (Create Read Update Delete) ini adalah aplikasi yang harus dikuasai setiap orang yang ingin jadi programmer PHP.  Artinya tidak ada programmer PHP yang tidak paham dengan CRUD dalam PHP.
Tutorial kali ini kita belajar PHP dengan membuat aplikasi PHP + MySQL sederhana yaitu aplikasi karyawan. Di dalamnya sudah memuat beberapa script dasar untuk PHP + MySQL seperti koneksi database MySQL dengan PHP dan script CRUD (Create Read Update Delete).
Tutorial ini dibagi menjadi beberapa bagian :
1. Mempersiapkan/Membuat Database
2. Script Create, input/tambah data
3. Script Read, membaca/menampilkan data
4. Script Update, update/ubah data
5. Script Delete, hapus data
Catatan: Tutorial ini anggap Anda sudah memahami dan melakukan instalasi XAMPP atau AppServ,  dan bisa membuat database.
Jika ternyata belum bisa, silahkan pelajari dulu cara membuat database di AppServ pada postingan saya sebelumnya.

Silahkan Buka http://localhost/phpmyadmin
1. Mempersiapkan/Membuat Database
    Nama database : dbkaryawan
    Tabel : karyawan
+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| id     | int(5)      | NO   | PRI | NULL    | auto_increment |
| nama   | varchar(50) | NO   |     | NULL    |                |
| alamat | varchar(50) | NO   |     | NULL    |                |
| telpon | varchar(50) | NO   |     | NULL    |                |
| email  | varchar(50) | NO   |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+

Langkah pembuatan database dbkaryawan dan tabel karyawan diatas bisa juga menggunakan query dibawah ini :
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE TABLE `karyawan` (
  `id` int(5) NOT NULL auto_increment,
  `nama` varchar(50) NOT NULL,
  `alamat` varchar(50) NOT NULL,
  `telpon` varchar(50) NOT NULL,
  `email` varchar(50) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
 
--
-- Dumping data for table `karyawan`
--
 
INSERT INTO `karyawan` VALUES (1, 'JF', 'MEDAN', '89798897', 'djsamm88.at.ua@gmail.com');
INSERT INTO `karyawan` VALUES (3, 'asdfasdfasdf', 'sadfasdf', 'sadfsadf', 'sadfsadf');

Buat File koneksi PHP ke MySQL connect.php
Script dibawah ini berfungsi untuk melakukan akses ke database MySQL. Setiap ingin melakukan akses ke MySQL harus terlebih dahulu dengan memanggil connectdb.php.
?
1
2
3
4
5
6
7
8
9
10
<?php
$host="localhost";
$username="root"; // username db
$password="pass"; // password db
$database="jf";
  
mysql_connect("$host", "$username", "$password")or
die("cannot connect server ");
mysql_select_db("$database")or die("cannot select DB");
?>
Penjelasan:
Script mysql_connect melakukan koneksi ke MySQL dengan menggunakan informasi dari variabel baris $host, $username, $password, $database.
Script mysql_select_db memilih database (“$database”)

2. Script Create, input/tambah data
     Buat File form input karyawan_form_input.php
     Isi script ini hanya berisi tag html untuk form input.
?
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
<h2>Data Karyawan</h2>
  
<h3>Form Input</h3>
<form method="post" action="add_karyawan.php">
<table>
<tr>
     <td>Nama</td>
     <td><input type="text" name="nama" ></td>
  </tr>
  <tr>
    <td>Alamat</td>
    <td><input type="text" name="alamat" ></td>
  </tr>
  <tr>
      <td>Telepon</td>
      <td><input type="text" name="telp" ></td>
  </tr>
  <tr>
      <td>Email</td>
      <td><input type="text" name="email" ></td>
  </tr>
  <tr>
    <td colspan="2"><input type="submit" value="Simpan"></td>
  </tr>
</table> 
</form>
Penjelasan:
Method yang digunakanpost dan action (file proses input data ke MySQL) “add_karyawan.php”. nilai dari name akan menjadi variabel
Buat File perintah memasukkan data ke tabel karyawan add_karyawan.php
Script ini berfungsi untuk memasukkan data ke tabel karyawan yang diinput melalui form input karyawan_form_input.php
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
include "connect.php";
  
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$telp = $_POST['telp'];
$email = $_POST['email'];
  
$sql = "INSERT INTO karyawan (nama, alamat, email, telpon)
         VALUES ('$nama', '$alamat', '$email', '$telp')";
$result = mysql_query($sql);
  
if ($result){
     echo "Sukses menyimpan data
           <a href='karyawan_view.php'>Lihat Data Karyawan</a>";
} else {
     echo "Terjadi kesalahan";
}
?>
Penjelasan:
Script include “connectdb.php”; memanggil file connectdb.php untuk login ke database MySQL
variabel $_POST mengubah variabel ke dalam variabel lokal.  
$sql ….. query untuk memasukkan data ke MySQL dengan nilai value diambil dari nilai dari variabel yang dikirim dari form input.
if ….. jika query input data berhasil ($result bernilai TRUE) maka tampil pesan Sukses menyimpan data jika gagal tampil pesan Terjadi kesalahan


3. Script Read, membaca/menampilkan data
Buat File menampilkan data karyawan_view.php
?
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
<table border=1px><tr>
<td>Nama</td>
<td>Email</td>
<td>Telpon</td>
<td>Alamat</td>
<td>Pilihan</td>
<tr>
 
<?php
include "connect.php";
  
  
$sql = "SELECT * from karyawan ORDER by id";
$result = mysql_query($sql);
while($data=mysql_fetch_array($result)){
echo'<tr> ';
 echo'<td>'.$data['nama'].'</td>';
 echo'<td>'.$data['email'].'</td>';
 echo'<td>'.$data['alamat'].'</td>';
 echo'<td>'.$data['telpon'].'</td>';
 echo'<td><a href=karyawan_form_edit.php?id='.$data['id'].'>Edit</a> - ';
 echo'<a href=delete_karyawan.php?id='.$data['id'].'>Hapus</a></td>';
 
 
echo'</tr>';
 }
 
?>
 
</table>
Penjelasan:
include “connectdb.php”; memanggil file koneksi database.  
$sql = “SELECT * FROM karyawan”;  dan $result = mysql_query($sql);  query select untuk memilih data dari tabel karyawan
while($r=mysql_fetch_array($result) mengambil record dari hasil query
<td>”.$i.”</td> …….. <td>”.$r['email'].”</td> menampilkan nilai dari field tabel
  
Pada script karyawan_view.php ada tag link untuk edit:
<a href="karyawan_form_edit.php?id=".$r['id']."">Edit</a> Jika link ini diklik maka akan menuju ke file form edit karyawan_form_edit.php dan membuat variabel $_GET['id'] dengan nilai dari field id. Nilai dari field id diambil untuk digunakan sebagai filter pada query tampilkan form edit data dan pada query update data.
Sedikit penjelasan tentag  $_POST dan $_GET.   $_POST digunakan untuk membaca nilai dari kiriman form dengan method=”POST” sedangkan $_GET digunakan untuk membaca nilai dari kiriman form dengan method=”$_GET”. Nama variabel dari $_POST tidak tampil pada address bar/url tidak seperti $_GET.
4. Script Update, update/ubah data
Buat File form edit karyawan_form_edit.php
?
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
<?php
include "connect.php";
$id = $_GET['id'];
$sql = "SELECT * FROM karyawan WHERE id='$id'";
$result = mysql_query($sql);
$r=mysql_fetch_array($result);
?>
<h2>Data Karyawan</h2>
  
<h3>Form Edit</h3>
<form method="post" action="update_karyawan.php">
<input type="hidden" name="id" value="<?php echo $r['id']; ?>">
<table>
<tr>
     <td>Nama</td>
     <td><input type="text" name="nama"
      value="<?php echo $r['nama']; ?>" /></td>
  </tr>
  <tr>
    <td>Alamat</td>
    <td><input type="text" name="alamat"
     value="<?php echo $r['alamat']; ?>" /></td>
  </tr>
  <tr>
      <td>Telepon</td>
      <td><input type="text" name="telp"
       value="<?php echo $r['telpon']; ?>" /></td>
  </tr>
  <tr>
      <td>Email</td>
      <td><input type="text" name="email"
       value="<?php echo $r['email']; ?>" /></td>
  </tr>
  <tr>
    <td colspan="2"><input type="submit" value="Simpan"></td>
  </tr>
</table> 
</form>
Penjelasan:

include “connectdb.php”; memanggil file koneksi database.
$id = $_GET['id']; varibel $_GET['id'] disimpan ke dalam variabel $id
$sql = “SELECT * FROM karyawan WHERE id=’$id’”; query untuk memilih data dari tabel karyawan hanya memiliki id tertentu yang nilainya diambil dari $id
<form method=”post” action=”update_karyawan.php”> digunakan method POST dan yang akan melakukan query update file karyawan_update.php
<input type=”hidden” name=”id” value=”<?php echo $r['id']; ?>”> nilai dari field id disimpan pada input dengan type hidden. Id disembunyikan karena tidak diubah dan hanya digunakan sebagai filter seleksi data.
<td><input type=”text” name=”nama” value=”<?php echo $r['nama']; ?>” /></td> …. nilai dari field ditampilkan pada input text.
Buat File query update update_karyawan.php
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
include "connect.php";
  
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$telp = $_POST['telp'];
$email = $_POST['email'];
$id = $_POST['id'];
  
$sql = "UPDATE karyawan SET nama='$nama', alamat='$alamat',
                             telpon='$telp', email='$email'
         WHERE id='$id'";
  
$result = mysql_query($sql);
  
if ($result){
     echo "Sukses menyimpan data <br />
           <a href='karyawan_view.php'>Lihat Data Karyawan</a>";
} else {
     echo "Terjadi kesalahan";
}
?>
Penjelasan:
$sql = “UPDATE karyawan SET nama=’$nama’, alamat=’$alamat’, telp=’$telp’, email=’$email’ WHERE id=’$id’”; query update data dengan filter id

5. Script Delete, hapus data
Hampir sama dengan link update/edit, link delete akan menuju ke file delete_karyawan.php dengan variabel id sebagai filter
?
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
include "connect.php";
$id = $_GET['id'];
$sql = "DELETE FROM karyawan WHERE id='$id'";
$result = mysql_query($sql);
  
if ($result){
     echo "Sukses menghapus data <br />
           <a href='karyawan_view.php'>Lihat Data Karyawan</a>";
} else {
     echo "Terjadi kesalahan";
}
?>
Penjelasan:
$sql = “DELETE FROM  karyawan  WHERE id=’$id’”; query hapus data dengan filter id

    
Selamat mencoba …

Sumber
Previous
Next Post »
Thanks for your comment