CRUD adalah singkatan dari Create Read Update Delete, merupakan konsep umum pengolahan data sistem informasi, secara teknis dipelajari dalam disiplin ilmu DML (Data Manipulation Language).
Metode Create dan Read telah dipelajari pada pembahasan sebelumnya: Membuat Buku Tamu. Jadi materi ini hanya akan melanjutkan dan mengembangkan pekerjaan kita sebelumnya.

WorkFlow:
- Menambahkan tombol SIGN UP di index.php
- Membuat form Registrasi
- Membuat engine Tombol Registrasi
- Membuat halaman untuk menampilkan jumlah Anggota
- Membuat form Edit Informasi
- Membuat engine Tombol Edit Informasi
- Membuat engine Tombol Delete.
Saya menggunakan istilah "engine" sebagai ilustrasi untuk mempermudah pemahaman tentang script, sehingga lebih jelas perbedaan antara static script dengan dinamic script.
- Static script (sebagai GUI/BAJU dan tidak ada interaksi dengan database)
- Dinamic script (sebagai Engine yang ada interaksi dengan database).
Barangkali ada istilah-istilah yang masih asing ditelinga teman-teman sekalian, entah itu atribut, elemen, instruksi, class, dll. Maka silakan bisa akses KAMUS DBMS, KAMUS PHP, atau KAMUS HTML, yang telah kami sediakan secara khusus, agar mudah dalam mengikuti materi yang telah kami sampaikan.
1. Menambahkan tombol SIGN UP di index.php
Silakan buka materi sebelumnya dan edit file index.php untuk menambahkan tombol sign up:
<html>
<!--
*bundet.com
*Wawan Beneran
*GUI ENTRY DATA BUKU TAMU
-->
<head>
<title>Buku Tamu</title>
</head>
<body>
<h2>Contact</h2>
<a href="daftar.php"><button>Sign UP</button></a> <!--Tambahkan Tombol Berikut -->
<hr size="1">
<form name="tamu" method="post" action="simpan.php">
<a> Nama <input style="margin: 5px 5px 5px 20px;" type="text" name="name"></a><br>
Email <input style="margin: 5px 5px 5px 24px;" type="text" name="email"><br>
Alamat <input style="margin: 5px 5px 5px 14px;" type="text" name="address"><br>
Kota <input style="margin: 5px 5px 5px 26px;" type="text" name="city"><br>
Pesan <br><textarea style="width: 210px; margin-bottom: 10px;" name="msg"></textarea><br>
<input type="submit" name="submit" value="Send"> <input type="reset" name="reset" value="Reset">
</form>
</body>
</html>
2. Membuat form Registrasi
Saya contohkan seperti code berikut:
<html>
<!--
*bundet.com
*Wawan Beneran
*GUI/FORM REGISTRASI MEMBER
-->
<head>
<title>Registrasi</title>
</head>
<body>
<h2>Registrasi</h2>
<hr size="1">
<form name="tamu" method="post" action="input_member.php">
Nama <input style="margin: 5px 5px 5px 40px;" type="text" name="name"><br>
Username <input style="margin: 5px 5px 5px 16px;" type="text" name="username"><br>
Email <input style="margin: 5px 5px 5px 44px;" type="text" name="email"><br>
Password <input style="margin: 5px 5px 5px 16px;" type="password" name="password"><br>
<input type="submit" name="submit" value="Submit"> <input type="reset" name="reset" value="Reset">
</form>
</body>
</html>
Simpan kode dengan nama file "daftar.php" dan letakan di folder BukuTamu yang telah kita buat pada pembahasan sebelumnya.
3. Membuat engine Tombol Registrasi
Saya contohkan code berikut, dan di situ saya tambahkan juga hiperlink untuk kembali ke Formulir Registrasi atau Ke halaman untuk melihat daftar Anggota.
<html>
<!--
*bundet.com
*Wawan Beneran
*Engine Registrasi(Untuk Action Tombol "Submit")
-->
<head>
<title>Contact</title>
</head>
<body>
<h1>REGISTRASI</h1>
<a href="daftar.php">Kembali ke Registrasi</a>
<br>
<h2>MEMBER</h2>
<a href="anggota.php">Lihat Anggota</a>
<hr size=1>
<?php
include ("connect.php");
$nama=$_POST['name'];
$username=$_POST['username'];
$email=$_POST['email'];
$password=$_POST['password'];
//sql entry data pada tabel
$sql = "INSERT INTO anggota (nama, username, email, password)
VALUES ('$nama','$username','$email','$password')";
if ($conn->query($sql) === TRUE) {
echo "Selamat Bergabung!";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
</body>
</html>
Simpan script dengan nama file "input_member.php" dan letakan di folder BukuTamu.
4. Membuat halaman untuk menampilkan jumlah Anggota
Script ini juga merupakan hasil adobsi dari pembahasan sebelumnya pada file tampil.php, hanya saja sedikit modifikasi dan improvisasi untuk menampilkan data-datanya, seperti dikemas dalam bentuk tabel yang didefinisikan dengan tag < table > yang mana data/kolom didefinisikan dengan tag < td > sedangkan baris didefinisikan dengan tag < tr >. (Biasa HTML, materi lama, taukan?)
<html>
<!--
*bundet.com
*Wawan Beneran
*Engine Daftar Anggota (Untuk Hiperlink "Lihat Anggota")
-->
<head>
<title>Daftar Anggota</title>
</head>
<body>
<h1>Daftar Anggota</h1>
<a href="daftar.php">Kembali ke Registrasi</a>
<br>
<hr size=1>
<?php
include ("connect.php");
// sql menampilkan record
$sql = "SELECT id, nama, username, email, password FROM anggota";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data setiap baris
echo '<table border="1" width="700">';
echo '<tr>';
echo '<td><center>ID</td>';
echo '<td><center>Nama</td>';
echo '<td><center>Username</td>';
echo '<td><center>Email</td>';
echo '<td><center>Password</td>';
echo '<td><center>Action</td>';
echo '</tr>';
while($row = $result->fetch_assoc()) {
echo '<tr>';
echo '<td><center>'.$row["id"].'</td>';
echo '<td><center>'.$row["nama"].'</td>';
echo '<td><center>'.$row["username"].'</td>';
echo '<td><center>'.$row["email"].'</td>';
echo '<td><center>'.$row["password"].'</td>';
echo '<td><center><a href="delete_member.php?id='.$row['id'].'&action=delete">Delete</a>';
echo ' | <a href="edit_member.php?id='.$row['id'].'&action=edit_member.php">Edit</a></center></td>';
echo '</tr>';
}
echo '</table>';
} else {
echo "0 results";
}
$conn->close()
?>
</body>
</html>
Simpan script dengan nama file "anggota.php" dan letakan di folder BukuTamu.
5. Membuat form Edit Informasi
Pada script ini saya sematkan juga Daftar Anggota, agar tidak repot bolak-balik untuk menengok.
<html>
<title>:::EDITDATA:::</title>
<!--
*bundet.com
*Wawan Beneran
*GUI/FORM Edit Informasi (Untuk Hiperlink Edit di Daftar Anggota)
-->
<?php
include ("anggota.php");/*saya sertakan juga tampilan Daftar Anggota,
Agar tidak repot bolak-balik hanya untuk melihat hasilnya.*/
?>
<body>
<h2><p>::EDIT DATA::</h2></p>
<form method="post" action="update_member.php">
<table border="0">
<tr>
<td>id</td>
<td>:</td>
<td><input type="text" name="id">
</tr>
<tr>
<td>Nama</td>
<td>:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>Username</td>
<td>:</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input type="password" name="password"></td>
</tr>
</table>
<br>
<table border="0">
<tr>
<td><input type="submit" value="Save"></td>
<td><input type="reset" value="Reset"></td>
</tr>
</table></form></body></html>
Simpan script dengan nama file "edit_member.php" dan letakan di folder BukuTamu.
6. Membuat engine Tombol Edit Informasi
Dalam script ini, daftar Anggota saya sematkan juga, tentunya setelah prosedur terpenuhi, oleh sebab itu saya includekan dalam blok pernyataan.
<?php
/*
*bundet.com
*Wawan Beneran
*ENGINE UPDATE (Untuk Action Tombol "Save" di From Update)
*/
include ("connect.php");
$id=$_POST['id'];
$nama=$_POST['name'];
$username=$_POST['username'];
$email=$_POST['email'];
$password=$_POST['password'];
// sql entry data pada tabel
$sql = "UPDATE anggota set nama='$nama', username='$username', email='$email', password='$password' where id='$id'";
if ($conn->query($sql) === TRUE) {
echo "Data Telah Diupdate!";
include("anggota.php");
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
?>
Simpan script dengan nama file "edit_memeber.php" dan letakan di folder BukuTamu.
7. Membuat engine Tombol Delete
Agar seketika terlihat hasilnya, maka Daftar Anggota juga saya sematkan dalam blok pernyataan script berikut.
<?php
/*
*bundet.com
*Wawan Beneran
*ENGINE DELETE (Untuk action hiperlink "Delete" di Daftar Anggota)
*/
include ("connect.php");
$sql = "DELETE from anggota where id=$_REQUEST[id]";
if ($conn->query($sql) === TRUE) {
echo "Data Telah Dihapus!";
include("anggota.php");
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
?>
Demo:
https://youtu.be/cbFa1Xa_TeY