CRUD merupakan akronim atau singkatan dari Creat, Read, Update, Delete. Dengan adanya fungsi CRUD, kamu bisa melakukan perubahan konten tanpa harus merubah program yang telah dibuat.
Pada artikel ini akan membahas Tutorial membuat CRUD dengan PHP dan MySQL. jika kamu masih pemula tidak usah kawatir, sudah saya buatkan contoh program CRUD sederhana agar lebih mudah difahami.
Ada beberapa langkah dalam pembuatan CRUD, sebelum membuat program PHP untuk fungsi CRUD kamu harus memiliki database terlebih dahulu. saya asumsikan kamu sudah menginstal Xampp dan mengaktifkan server apache dan MySQL.
- Ketik localhost/phpmyadmin/ pada url web browser.
- Pilih menu SQL dan masukkan query CREATE DATABASE crud;
- Lihat sidebar, klik nama database yang telah dibuat. lalu pilih menu SQL untuk membuat tabel beserta datanya, masukkan query dibawah.
CREATE TABLE `tb_user` ( `id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `nama` varchar(50) NOT NULL, `alamat` varchar(100) NOT NULL, `pekerjaan` varchar(50) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; INSERT INTO `tb_user` (`id`, `nama`, `alamat`, `pekerjaan`) VALUES (1, 'Fatwa Aulia', 'Banyuwangi', 'Software Developer'), (2, 'Zahra', 'Malang', 'Guru'), (3, 'Fatimah', 'Surabaya', 'Designer');
Jika data berhasil ditambahkan akan muncul seperti ini.
Kemudian buka folder instalasi Xampp pilih htdocs nah disini merupakan letak semua folder project kamu dan buat folder baru didalamnya misal crud. Sekarang kamu bisa akses di browser ketik localhost/nama_folder_project/ (pastikan server apache dan MySQL telah dinyalakan pada Xampp).
Lanjut kemudian buka text editor kamu seperti VSCode. tekan Ctrl+K+O dan pilih folder project yang telah dibuat didalam htdocs.
1. Membuat koneksi database
Buat file baru(CTRL + N) db.php
Koneksi database mysql dengan PHP menggunakan fungsi mysqli_connect() yang memiliki 4 parameter, yaitu: mysqli_connect("nama_host", "username", "password", "nama_database");
<!-- CEK DATABASE --> <?php $koneksi = mysqli_connect('localhost', 'root', '', 'crud'); // if($koneksi) echo "Berhasil Terhubung ke Database"; // else echo "Gagal Terhubung Database"; ?>
2. Menampilkan data (Read)
Buatlah file index.php dan tambahkan code dibawah.
<?php require "db.php" ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> table, th, td {border: 1px solid black} table tr th,td {padding:10px} input {padding: 3px} a {text-decoration: none} .input-group {margin: 10px auto} </style> <title>CRUD PHP | Fatwa Media</title> </head> <body> <div> <h3>TABEL PENGGUNA</h3> <a href="form_tambah.php"> <button type="button" style="color:blue">+ Tambah data</button> </a> <table style="margin-top:10px"> <thead> <tr> <th>No.</th> <th>Nama</th> <th>Alamat</th> <th>Pekerjaan</th> <th>Opsi</th> </tr> </thead> <tbody> <?php $data_pengguna = mysqli_query($koneksi, "SELECT * FROM tb_user"); foreach ($data_pengguna as $key => $data) { ?> <tr> <td><?=$key+1?></td> <td><?=$data['nama']?></td> <td><?=$data['alamat']?></td> <td><?=$data['pekerjaan']?></td> <td> <a href="form_edit.php?id=<?=$data['id']?>"> <button style="color:blue">Edit</button> </a> | <a href="hapus_proses.php?id=<?=$data['id']?>"> <button style="color:red">Hapus</button> </a> </td> </tr> <?php } ?> </tbody> </table> </div> </body> </html>
- Perhatikan line paling atas. required "db.php" Berfungsi agar file index.php terkoneksi dengan database.
- $data_pengguna fungsi query get data. perhatikan parameter pertama($koneksi) kita dapatkan dari file db.php
- foreach() kita gunakan untuk perulangan yang datanya dalam bentuk array.
- $key+1 untuk penomoran pada data tabel.
- $data['nama'] menampilkan semua data field "nama".
- Nah terakhir jangan lupa tutup kurawal foreach agar tidak muncul error wkk.
3. Tambah data (Create).
Sebelum membuat fungsi insert data ke database, kita memerlukan form input untuk tampilan tambah data.
buat file form_input.php
<?php require "db.php" ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> table, th, td {border: 1px solid black} table tr th,td {padding:10px} input {padding: 3px} a {text-decoration: none} .input-group {margin: 10px auto} </style> <title>CRUD PHP | Fatwa Media</title> </head> <body> <div> <h3>Form Tambah</h3> <form action="tambah_proses.php" method="post"> <div class="input-group"> <label>Nama :</label> <br> <input type="text" name="nama"> </div> <div class="input-group"> <label>Alamat :</label> <br> <input type="text" name="alamat"> </div> <div class="input-group"> <label>Pekerjaan :</label> <br> <input type="text" name="pekerjaan"> </div> <button type="submit" style="color:blue">+ Tambah</button> </form> </div> </body> </html>
Perhatikan tag form karna disitu kunci utama untuk proses input data yang akan kita kirim ke database.
- atribut action merupakan file yang akan dituju ketika tag button type submit diklik.
- method="post" merupakan metode permintaan POST meminta server web menerima data yang disertakan.
- atribut type="text" memungkinkan kita memasukan data dalam bentuk text.
- atribut name merupakan nama field pada database.
- button type="submit" ketika tombol diklik maka akan menjalankan fungsi atribut action pada tag form.
Sekarang silahkan buat file tambah_proses.php dan masukkan code dibawah.
<?php require "db.php"; $nama = $_POST['nama']; $alamat = $_POST['alamat']; $pekerjaan = $_POST['pekerjaan']; mysqli_query($koneksi, "INSERT INTO tb_user(nama, alamat, pekerjaan) VALUES ('$nama', '$alamat', '$pekerjaan') "); header("location:index.php?berhasil_tambah_data"); ?>
- $_POST['nama'] untuk menangkap data input nama yang dikirim pada form tambah.
- header() berfungsi untuk setelah berhasil tambah data akan kembali ke file index.php dan perhatikan url menjadi index.php?berhasil_tambah_data.
4. Edit data (Update)
Hampir sama dengan form tambah yang telah kita buat sebelumnya kita hanya perlu menambahkan sedikit fungsi. kamu bisa pakai code dibawah.
<?php require "db.php" ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> table, th, td {border: 1px solid black} table tr th,td {padding:10px} input {padding: 3px} a {text-decoration: none} .input-group {margin: 10px auto} </style> <title>CRUD PHP | Fatwa Media</title> </head> <body> <div> <h3>Form Edit</h3> <?php $id = $_GET['id']; $data_pengguna = mysqli_query($koneksi, "SELECT * FROM tb_user WHERE id='$id' "); foreach ($data_pengguna as $data) { ?> <form action="edit_proses.php" method="post"> <div class="input-group"> <label>Nama :</label> <br> <input type="hidden" name="id" value="<?=$data['id']?>"> <input type="text" name="nama" value="<?=$data['nama']?>"> </div> <div class="input-group"> <label>Alamat :</label> <br> <input type="text" name="alamat" value="<?=$data['alamat']?>"> </div> <div class="input-group"> <label>Pekerjaan :</label> <br> <input type="text" name="pekerjaan" value="<?=$data['pekerjaan']?>"> </div> <a href="index.php"> <button type="button" style="color:black">Kembali</button> </a> | <button type="submit" style="color:blue">Update</button> </form> <?php } ?> </div> </body> </html>
- $id = $_GET['id']; untuk menangkap data id pada url.
- $data_pengguna fungsi query get data. perhatikan parameter pertama($koneksi) kita dapatkan dari file db.php
- foreach() kita gunakan untuk perulangan yang datanya dalam bentuk array.
- atribut type="hidden" untuk menyembunyikan tag input. kita hanya perlu kirim id tanpa merubahkan.
- atribut type="text" memungkinkan kita memasukan data text.
- atribut name merupakan nama field pada database.
- value merupakan data yang ditampilkan pada kolom input.
Sekarang silahkan buat file edit_proses.php dan masukkan code dibawah.
<?php require "db.php"; $id = $_POST['id']; $nama = $_POST['nama']; $alamat = $_POST['alamat']; $pekerjaan = $_POST['pekerjaan']; mysqli_query($koneksi, "UPDATE tb_user SET nama='$nama', alamat='$alamat', pekerjaan='$pekerjaan' WHERE id='$id' "); header("location:index.php?berhasil_edit_data"); ?>
- WHERE id='$id' untuk menentukan data yang akan kita update sesuai id.
5. Hapus data (Delete)
Silahkan buat file hapus_proses.php dan masukan kode dibawah.
<?php require "db.php"; $id = $_GET['id']; mysqli_query($koneksi, "DELETE FROM tb_user WHERE id='$id' "); header("location:index.php?berhasil_hapus_data"); ?>
Penutupan
Sekian Tutorial Membuat CRUD Dengan PHP dan MySQL. Kamu bisa mendapatkan Source Code nya disini. Semoga bermanfaat:)
Search Term.
- Cara Membuat Koneksi PHP ke Database MySQL
- Cara Menampilkan Data dari Database MySQL dengan PHP
- Cara Input Data ke Database MySQL dengan PHP
- Cara Update Data MySQL dengan PHP
- Cara Delete Data MySQL dengan PHP