Crud adalah singkatan Create, Read, Update, Delete, sederhananya dengan CRUD ini kita akan memanipulasi data dari database, baik menampilkan, menambahkan, mengupdate serta menghapus data di database dengan menggunakan PHP. Dalam materi ini kita akan membuat aplikasi PHP sederhana untuk melakukan semua operasi ini pada tabel database MySQL.
Kita akan membuat sebuah aplikasi sederhana dengan sebuah tabel yang menampilkan data dari database di sisi frontend. Terdapat beberapa tombol untuk mengubah data yang ada di database lewat antarmuka yang kita buat. Tabel pengguna yang kita buat akan berisi informasi pengguna seperti nama, nomor telepon, email, dan lain-lain.
Langkah-Langkah Pembuatan CRUD
1. Membuat Database di MySQL
Pertama kita buat terlebih dahulu file database ppdb.sql
bisa melalui phpmyadmin atau melalui console, dengan sintak seperti berikut ini :
/* Create Database and Table */ create database ppdb; use ppdb; CREATE TABLE `tbl_pendaftar` ( `id` int(11) NOT NULL auto_increment, `nama` varchar(100), `username` varchar(100), `password` varchar(100), `email` varchar(100), `hp` varchar(15), PRIMARY KEY (`id`) );
2. Membuat file koneksi.php
File koneksi.php menyimpan informasi tentang database host, username dan password. Seperti berikut ini :
<?php $databaseHost = 'localhost'; $databaseName = 'ppdb'; $databaseUsername = 'root'; $databasePassword = ''; $varkoneksi=mysqli_connect($databaseHost,$databaseUsername,$databasePassword,$databaseName); if(mysqli_connect_errno($varkoneksi)) { echo "gagal koneksi ke DB".mysqli_connect_error(); } ?>
atau
<?php $varkoneksi=mysqli_connect("localhost","root","","laundry"); if(mysqli_connect_errno($varkoneksi)) { echo "gagal koneksi ke DB".mysqli_connect_error(); } ?>
File koneksi.php menyimpan informasi tentang database host, username dan password. Untuk menghubungkan PHP dengan MySQL, kita menggunakan fungsi mysqli_connect()
dengan alamat server sebagai parameter pertama, user database sebagai parameter kedua, password user sebagai parameter ketiga, dan nama database sebagai parameter keempat.
Silahkan isi password disesuaikan dengan yang dibuat di servernya. Jika tidak menggunakan passsword, maka isikan dengan String kosong saja.
$password = "";
3. Membuat file index.php dan login_aksi.php
File index.php merupakan file utama yang menyertakan file konfigurasi untuk koneksi database. File index.php ini menampilkan form untuk login. Jika login berhasil akan diarahkan ke file index.php yang ada di folder admin (berbeda dengan index.php di awal).
File login_aksi.php berfungsi untuk menjalankan aksi dari fom index.php.
Berikut sintak index.php
<!DOCTYPE html> <html> <head> <title>Sistem Informasi PPDB</title> </head> <body> <h2><center>Sistem Informasi Laundry RPL</center></h2> <?php if(isset($_GET['pesan'])) { if($_GET['pesan']=='gagal') { echo "Gagal Login, username atau password salah"; } else if($_GET['pesan']=='logout') { echo "Anda sudah logout"; } if($_GET['pesan']=='belum_login') { echo "Anda harus login dahulu untuk mengakses halaman admin"; } } ?> <form method="post" action="login_aksi.php"> <table align="center"> <tr> <td>Username</td> <td><input type="text" name="nama" placeholder="Masukan username"></td> </tr> <tr> <td>Password</td> <td><input type="password" name="katakunci" placeholder="Masukan password"></td> </tr> <tr> <td></td> <td><input type="submit" value="LOGIN"></td> </tr> </table> </form> </body> </html>
Sintak login_aksi.php
<!DOCTYPE html> <html> <head> <title>Halaman Admin sistem informasi laundry</title> </head> <body> <?php //mulai session session_start(); //konek database include 'koneksi.php'; //ambil data dari form login $username=$_POST['nama']; $password=$_POST['katakunci']; //query $data=mysqli_query($varkoneksi,"select * from tbl_pendaftar where username='$username' and password='$password'"); //cek data $cek=mysqli_num_rows($data); if($cek>0) { $_SESSION['username']=$username; $_SESSION['status']='login'; header("location:admin/index.php"); } else { header("location:index.php?pesan=gagal"); } ?> </body> </html>
struktur file seperti berikut :
4. Membuat file index.php di dalam folder admin
File index.php ini merupakan file yang menyertakan file konfigurasi untuk koneksi database. Kemudian menampilkan semua daftar pengguna menggunakan MySQL Select Query. Pengguna yang akan ditampilkan di dalam daftar perlu menambahkan terlebih dahulu menggunakan tautan Tambahkan Pengguna Baru dan Logout.
Struktur file yang terdapat dalam folder admin
Sintak index.php
<?php //mulai session session_start(); //cek status sudah login if($_SESSION['status']!="login") { header("location:../index.php?pesan=belum_login"); } // koneksi ke database include '../koneksi.php'; // Fetch semua data user dari database $result = mysqli_query($varkoneksi, "SELECT * FROM tbl_pendaftar ORDER BY id ASC"); ?> <html> <head> <title>Homepage</title> </head> <body> <h2>Selamat datang <?php echo $_SESSION['username']; ?> di halaman admin</h2> <a href="tambah.php">Tambah Pengguna Baru</a><br/><br/> <table width='80%' border=1> <tr> <th>No</th> <th>Nama</th> <th>Username</th> <th>Password</th> <th>Email</th> <th>HP</th> <th>Update</th> </tr> <?php while($user_data = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>".$user_data['id']."</td>"; echo "<td>".$user_data['nama']."</td>"; echo "<td>".$user_data['username']."</td>"; echo "<td>".$user_data['password']."</td>"; echo "<td>".$user_data['email']."</td>"; echo "<td>".$user_data['hp']."</td>"; echo "<td><a href='edit.php?id=$user_data[id]'>Edit</a> | <a href='delete.php?id=$user_data[id]'>Delete</a></td></tr>"; } ?> </table> <a href="logout.php">LOGOUT</a> </body> </html>
Sintak logout.php
<?php //mulai session session_start(); //hapus session session_destroy(); //alihkan ke halaman login header("location:../index.php?pesan=logout"); ?>
5. Membuat file tambah.php dan tambah_aksi.php
File tambah.php digunakan sebagai form untuk menambah user, yang selanjutnya diinput (insert) ke tbl_pendaftar.
Sintak tambah.php
<html> <head> <title>Tambah Pengguna</title> </head> <body> <a href="index.php">Home</a> <br/><br/> <form action="tambah_aksi.php" method="post" name="formtambah"> <table width="25%" border="0"> <tr> <td>Nama</td> <td><input type="text" name="nama"></td> </tr> <tr> <td>Ussrname</td> <td><input type="text" name="username"></td> </tr> <tr> <td>Password</td> <td><input type="text" name="password"></td> </tr> <tr> <td>Email</td> <td><input type="text" name="email"></td> </tr> <tr> <td>HP</td> <td><input type="text" name="hp"></td> </tr> <tr> <td></td> <td><input type="submit" name="Submit" value="Tambah"></td> </tr> </table> </form> </body> </html>
Sintak tambah_aksi.php
<?php //mulai session session_start(); //konek database include '../koneksi.php'; // cek ketika klik submit, insert form data ke tbl_pendaftar. if(isset($_POST['Submit'])) { $nama=$_POST['nama']; $username=$_POST['username']; $password=$_POST['password']; $email=$_POST['email']; $hp=$_POST['hp']; // Memasukan user baru ke table $insertdata=mysqli_query($varkoneksi,"insert into tbl_pendaftar (nama,username,password,email,hp) VALUES('$nama','$username','$password','$email','$hp')"); // Tambahkan pesan ketika berhasil ditambahkan echo "User berhasil ditambah. <a href='index.php'>Data User</a>"; } ?>
6. Membuat file edit.php dan edit_aksi.php
File edit.php digunakan sebagai form untuk mengubah data user, yang selanjutnya diupdate ke tbl_pendaftar.
Sintak edit.php
<html> <head> <title>Ubah Pengguna</title> </head> <body> <a href="index.php">Home</a> <br/><br/> <?php include '../koneksi.php'; $id=$_GET['id']; $data=mysqli_query($varkoneksi,"select * from tbl_pendaftar where id='$id'"); while($d=mysqli_fetch_array($data)) { ?> <form action="edit_aksi.php" method="post" name="formedit"> <table width="25%" border="0"> <tr> <td>ID Pendaftar</td> <td><input type="text" name=id value="<?php echo $d['id'] ?>" readonly></td> </tr> <tr> <td>Nama</td> <td><input type="text" name="nama" value="<?php echo $d['nama'] ?>"></td> </tr> <tr> <td>Username</td> <td><input type="text" name="username" value="<?php echo $d['username'] ?>"></td> </tr> <tr> <td>Password</td> <td><input type="text" name="password" value="<?php echo $d['password'] ?>"></td> </tr> <tr> <td>Email</td> <td><input type="text" name="email" value="<?php echo $d['email'] ?>"></td> </tr> <tr> <td>HP</td> <td><input type="text" name="hp" value="<?php echo $d['hp'] ?>"></td> </tr> <tr> <td></td> <td><input type="submit" name="Submit" value="Edit"></td> </tr> </table> </form> <?php } ?> </body> </html>
Sintak edit_aksi.php
<?php //konek database include '../koneksi.php'; //menangkap data yang dikirim dari form dengan methode post $id=$_POST['id']; $nama=$_POST['nama']; $username=$_POST['username']; $password=$_POST['password']; $email=$_POST['email']; $hp=$_POST['hp']; //update data dari database mysqli_query($varkoneksi,"update tbl_pendaftar set nama='$nama',username='$username',password='$password',email='$email',hp='$hp' where id='$id'"); //mengalihkan ke halaman daftar mapel header("location:index.php"); ?>
7. Membuat file delete.php
File delete.php digunakan untuk menghapus data user, dari tbl_pendaftar berdasarkan id yang dipilih dari form.
<?php //konek database include '../koneksi.php'; //menangkap data yang dikirim dari form dengan methode post $id=$_GET['id']; //Delete data dari database mysqli_query($varkoneksi,"delete from tbl_pendaftar where id='$id'"); //mengalihkan ke halaman daftar mapel header("location:index.php"); ?>
Be the first to comment