Like Amarul Book's On Facebook

Cara Membuat (CRUD) Create, Read, Update, Delete Data Dengan PDO PHP & MYSQL


Membuat koneksi database dan membuat perintah (Tambah, Edit , Delete)
Di suatu WEB proses tampil data, input, update dan delete sering kita jumpai. Atau dalam bahasa kerennya di sebut CRUD (Creata, Read, Update, Delete) yang merupakan proses pemrograman dasar khususnya yang berkaitan dengan database. Untuk pemrograman bebasis WEB proses CRUD ini dapat dilakukan dengan kode script PHP, baik dalam proses CRUD maupun untuk mehubungkan database dengan program PHP yang kita buat.
Di pertemuan kali ini kita akan membahas tentang koneksi database menggunakan mysql improve dimana di setiap perintahnya akan di awali dengan fungsi kata mysqli Disamping itu kita juga akan mempelajari dan membuat sebuah form untuk Tampil, Tambah, Edit dan Delete. Kita akan mencoba membuat form siswa di mana form tersebut di fasilitasi perintah tambah,edit dan delete.
Terlebih dahulu buatlah database, dalam contoh ini saya menggunakan phpMyAdmin.
1. Buatlah database dengan nama sekolah.

2. Buat tabel dengan nama siswa dan isikan 4 untuk jumlah kolom yang akan dibuat.
3. Kemudian isikan ke 4 kolom yang telah dibuat tadi seperti berikut.
4. Jika sudah save dan isikan sejumlah data pada tabel siswa tersebut, Apabila langkah-langkah membuat database sudah selesai, langkah selanjutnya adalah membuat file koneksi kedatabase dan form - form yang diperlukan.
5. Terlebh dulu kita buat file yang mengoneksikan database ke file php dengan cara menuliskan kode script dibawah ini simpan dengan nama konek.php di(xampp/htdoc/latihan/config/konek.php).
<?php
$db_host  = 'localhost'; 
$db_usn  = 'root'; //nama username
$db_pwd  = ''; //password jika tadak ada bisa di kosongi seperti contoh 
$db_name = 'sekolah'; //nama database

$db_link = mysqli_connect($db_host,$db_usn,$db_pwd,$db_name);
if (!$db_link){
 echo 'Tidak dapat terhubung ke database';
}
?>
CATATAN :
1. Disini saya menggunkan mysqli (MySQL Improve Extension) karena extensi ini dapat digunakan untuk mengakses MySQL versi 4.1 keatas. Karena jika menggunakan extensimysql_connect versi ini sudah usang sejak PHP Versi 5.5.0. Jadi sebagai gantinya, kita dianjurkan untuk menggunakan extensi pengganti, yaitu mysqli ( MySQL Improve Extension ).
6. Selanjutnya adalah membuat file yang akan menampilkan data dari tabel siswa simpan dengan nama siswa.php di (xampp/htdoc/latihan/siswa.php).
untuk membuat tabel yang menampilkan data seperti di atas, di bawah ini merupakan kode scriptnya.
<?php
include('./config/konek.php'); 
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body bgcolor="#CCCCCC">
<?php
$sql = 'select * from siswa';
$query = mysqli_query($db_link,$sql);
?>
<h2><strong><p align="center">Data Siswa SMK Media Kreatif</p></strong></h2>
<table width="807" border="1" cellpadding="0" cellspacing="0" align="center">
  <!--DWLayoutTable-->
  <tr>
    <td width="112" height="29" align="center" valign="middle" bgcolor="#00FFFF">NIS</td>
    <td width="176" align="center" valign="middle" bgcolor="#00FFFF">Nama</td>
    <td width="252" align="center" valign="middle" bgcolor="#00FFFF">Alamat</td>
    <td width="134" align="center" valign="middle" bgcolor="#00FFFF">Kelas</td>
    <td width="133" align="center" valign="middle" bgcolor="#00FFFF"><a href="tambah.php">TAMBAH</a></td></tr>
<?php
 while($data = mysqli_fetch_array($query)){ 
?>
  <tr>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['nis']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['nama']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['alamat']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['kelas']; ?></td>
    <td p align="center" bgcolor="#FFFFFF">
  || edit || || hapus ||
 </td>
  </tr>
<?php
}
?>
</table>
</body>
</html>

7. Selanjutnya kita buat form untuk tambah data kita simpan dengan nama tambah.php di (xampp/htdoc/latihan/tambah.php).
berikut kode script untuk membuat form tambah data di atas.
<body bgcolor="#CCCCCC">
<h2><p align="center">TAMBAH DATA</p></h2>
<form method="post" action="aksi.php">
<table width="546" border="0" cellpadding="0" cellspacing="0" align="center" bgcolor="#FFFFFF">
  <!--DWLayoutTable-->
  <tr>
    <td width="189" height="20"> </td>
    <td width="26"> </td>
    <td width="331"> </td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">NIS</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <input name="nis" type="text" size="10">
    </label></td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Nama</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <input type="text" name="nama">
    </label></td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Alamat</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <input name="alamat" type="text" size="50">
    </label></td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Kelas</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <select name="kelas">
    <option selected="selected">--Pilih--</option>
  <option>1</option>
  <option>2</option>
  <option>3</option>
      </select>
    </label></td>
  </tr>
  <tr>
    <td height="42"> </td>
    <td> </td>
    <td><input type="submit" name="ttambah" value="TAMBAH"></td>
  </tr>

</table>
</form>
</body>
CATATAN :
1. <form method="post" action="aksi.php"> disini terlihat di tag action nilainya sama dengan aksi.php, file tersebut merupakan file untuk menangkap data yang di tambahkan dan memasukkannya ke database.
untuk itulah di catatan tambah.php kita harus membuat file dengan nama aksi.php disimpan di (xampp/htdoc/latihan/aksi.php). Dan di bawah ini merupakan kodoe scriptnya.
<?php
include('config/konek.php');
if(isset($_POST['ttambah'])){ //['ttambah'] merupakan name dari button di form tambah
 $nis = $_POST['nis'];
 $nama = $_POST['nama'];
 $alamat = $_POST['alamat'];
 $kelas = $_POST['kelas'];
 
 $sql = 'insert into siswa (nis,nama,alamat,kelas) values ("'.$nis.'","'.$nama.'","'.$alamat.'","'.$kelas.'")';
 $query = mysqli_query($db_link,$sql);
 
 if($query){
  header('location: siswa.php'); //kode ini supaya jika data setelah ditambahkan form kembali menuju tabel data siswa
 }
 else{
  echo 'Gagal';
 }
}
?>

8. Setelah membuat file untuk tambah data selanjutnya kita buat untuk update data, buat dan simpan dengan nama edit.php di (xampp/htdoc/latihan/edit.php).
berikut kode script untuk membuat form edit.php data di atas, tapi terlebih dahulu kita buka file siswa.php dan perhatikan kode di bawah ini yang akan di tambah sedikit kode lagi.
sebelumnya =>
  <tr>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['nis']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['nama']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['alamat']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['kelas']; ?></td>
    <td p align="center" bgcolor="#FFFFFF">
  || edit || || hapus ||
 </td>
  </tr>
setelahnya =>
 <tr>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['nis']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['nama']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['alamat']; ?></td>
    <td p align="center" bgcolor="#FFFFFF"><?php echo $data['kelas']; ?></td>
    <td p align="center" bgcolor="#FFFFFF">
 <a href="edit.php?ni=<?php echo $data['nis'];?>" title="Edit siswa ini"> || edit || </a>
 <a href="delete.php?ni=<?php echo $data['nis'];?>" onclick="return confirm('Yakin mau di hapus?');">|| hapus ||</a>
 </td>
  </tr>
Sesudah itu buka edit.php dan tambahkan kode berikut :
<body bgcolor="#CCCCCC">
<h2>
<p align="center">EDIT DATA
<?php
 include('config/konek.php');
 if(isset($_GET['ni'])){
  $ni  = $_GET['ni'];
  $query = mysqli_query($db_link,'select * from siswa where nis = "'.$ni.'"');
  $data   = mysqli_fetch_array($query);
  $nama = $data['nama'];
  $alamat = $data['alamat'];
  $kelas = $data['kelas'];
 }
 else{
 $nama = '';
 $alamat = '';
 $kelas = '';
 }
?>
</p></h2>
<form method="post" name="frm" action="aksi.php">
<table width="546" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" align="center">
  <!--DWLayoutTable-->
  <tr>
    <td width="189" height="20"> </td>
    <td width="26"> </td>
    <td width="331"> </td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">NIS</td>
    <td align="center" valign="top">:</td>
    <td valign="middle">
      <input type="text" name="nis" value="<?php echo $_GET['ni']; ?>" readonly="readonly"> 
    </td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Nama</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <input type="text" name="nama" value="<?php echo $nama; ?>">
    </label></td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Alamat</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
      <input name="alamat" type="text" size="50" value="<?php echo $alamat; ?>">
    </label></td>
  </tr>
  <tr>
    <td height="27" align="right" valign="middle">Kelas</td>
    <td align="center" valign="top">:</td>
    <td valign="middle"><label>
  <input name="kelas" type="text" size="50" value="<?php echo $kelas; ?>">
    </label></td>
  </tr>
  <tr>
    <td height="42"> </td>
    <td> </td>
    <td><input type="submit" name="tedit" value="EDIT"></td>
  </tr>
</table>
</form>
CATATAN :
1. <form method="post" action="aksi.php"> sama seperti di form tambah disini juga terdapat tag yang sama dengan nilai atribut sama dengan aksi.php berguna untuk menangkap editan data yang sudah dilakukan user dan menampilkannya ke siswa.php
jadi kita buka file aksi.php dan tambahkan kode script berikut sebelum tag tutup php ?> kodenya adalah.
if(isset($_POST['tedit'])){
 $nama = $_POST['nama'];
 $alamat = $_POST['alamat'];
 $kelas = $_POST['kelas'];
 $nis = $_POST['nis'];
 
 $sql = 'update siswa set nama="'.$nama.'", alamat="'.$alamat.'", kelas="'.$kelas.'" where nis="'.$nis.'"';
 $query = mysqli_query($db_link,$sql);
 
 if($query){
  header('location: siswa.php');
 }
 else{
  echo 'Gagal';
 }
}
Cobalah fungsi update tersebut pada salah satu data

9. Langkah terakhir yaitu kita buat fungsi delete, buka lembar baru simpan dengan nama delete.php di (xampp/htdoc/latihan/delete.php).
tuliskan kode script untuk delete.php seperti berikut :
<?php
include('config/konek.php');
$ni = $_GET['ni'];

$sql  = 'delete from siswa where nis="'.$ni.'"';
$query = mysqli_query($db_link,$sql);
header('location: siswa.php');
?>
Sebelum itu buka siswa.php tambahkan kode berikut pada tombol hapus hingga menjadi seperti berikut
<a href="delete.php?ni=<?php echo $data['nis'];?>" onclick="return confirm('Yakin mau di hapus?');">|| hapus ||</a>
CATATAN :
1. onclick="return confirm('Yakin mau di hapus?'); adalah kode script untuk menambahkan pesan/message box untuk meyakinkan user data ingin di hapus atau tidak.
2. header('location: siswa.php'); untuk langsung mengarahkan tampilan ke tabel siswa ketika sudah terhapus.
jika sudah selesai semua mengenai pembuatan hapus maka jika dijlankan akan tampil seperti berikut :
pertama :
kedua : muncul message box dan jika memilih OK maka datanya akan dihapus.
ketiga : data pada nis nomer 3 akan hilang
Demikianlah tahapan pembuatan perintah CRUD yang terkonek dengan database mysql, ini merupakan pejelasan dasar mengenai PHP. Dan semoga dari penjelasan singkat ini beguna bagi para pembaca semua.

SELAMAT MENCOBA DAN SUKSES
SALAM KREATIF :)
Sumber: https://media-kreatif.com

1 comments:

  1. Terimakasih kak, blognya sangat bermanfaat sekali untuk saya yang baru belajar Cara Membuat (CRUD) Create, Read, Update, Delete Data Dengan PDO PHP & MySQL dan contoh yang diberikan juga sangat mudah untuk dipahami.. Semangat terus ya kak untuk membuat blog lainnya.. Perkenalkan nama saya Sintia dan Nim saya 1922500186 dan link Web kampus saya https://www.atmaluhur.ac.id/

    ReplyDelete

JANGAN LUPA BERI KOMENTAR DAN BUKU TAMUNYA
THANKS TO VISIT IN AMARUL BOOK'S