Membuat CRUD Sederhana dengan PHP dan MYSQL
CRUD adalah singkatan dari Create Read Update Delete , yang sering digunakan pada aplikasi-aplikasi pengolahan data yang kebanyakan mengguanakan fungsi CRUD didalamnya . Fungsi ini digunakan untuk menambahkan data, menghapus data, serta mengupdate data.
2. Membuat Koneksi dengan Database
Sebelum melakukan langkah ini kita harus membuat folder untuk menyimpan file-file yang nantinya akan kita buat. Buat folder dengan nama crud_sederhana di dalam folder xampp/htdocs/disini.
Langkah selanjutnya yaitu membuat file untuk melakukan koneksi ke database. Buat file baru dengan nama koneksi.php, simpan ke dalam folder crud_sederhana tadi, kemudian isi dengan kode dibawah ini:
4. Memasukan Data (CREATE)
Pada tahap ini kita akan membuat dua buah file. File yang pertama berisi sebuah form untuk memasukkan data yang akan kita beri nama input.php. File yang kedua berfungsi untuk memproses data yang telah dimasukkan pada form input.php. File ini kita beri nama input_proses.php.
Berikut ini adalah tampilan kode pada file input.php:
Saya rasa kode di atas cukup mudah dipahami karena hanya berupa html. Pada kode di atas terdapat form dengan action = “input_proses.php”, artinya ketika form tersebut disubmit maka data yang diinputkan pada form akan diproses oleh file input_proses.php
Tampilan kode input_proses.php adalah sebagai berikut:
File input_proses.php akan mengambil data yang diinput dari form pada halaman input.php kemudian memasukkan data tersebut ke dalam database menggunakan query INSERT INTO.
Sampai tahap ini kita sudah bisa menginput data ke dalam tabel tbl_mahasiswa, namun kita belum bisa melakukan edit data dan hapus data.
5. Mengupdate / Mengedit Data (UPDATE)
Langkah selanjutnya yaitu membuat halaman untuk update/edit data. Sama seperti sebelumnya, pada tahap ini kita akan membuat dua file: file untuk membuat form dan file untuk memproses form.
Sekarang buat file untuk membuat form update data dengan nama edit.php. kemudian isikan kode berikut:
File edit.php akan mengambil nilai $_GET[”id”] dan disimpan pada variabel $id. Setelah itu data mahasiswa yang akan diedit ditampilkan menggunakan query "SELECT * FROM tbl_mahasiswa WHERE id=$id". Hasil query kemudian disimpan pada beberapa variabel. Variabel-variabel ini digunakan untuk mengisi atribut value pada form agar data tersebut dapat tampil di form.
Sekarang buat file edit_proses.php. Lalu isikan kode berikut:
File edit_proses.php akan mengambil data yang diinput dari form pada halaman edit.php kemudian melakukan update data menggunakan query UPDATE.
CRUD adalah singkatan dari Create Read Update Delete , yang sering digunakan pada aplikasi-aplikasi pengolahan data yang kebanyakan mengguanakan fungsi CRUD didalamnya . Fungsi ini digunakan untuk menambahkan data, menghapus data, serta mengupdate data.
Tutorial ini saya tujukan terutama bagi teman-teman yang mungkin baru dalam mempelajari PHP. Memahami konsep CRUD sangat penting jika kita ingin membuat sebuah aplikasi. Tanpa memahami konsep ini, kita tidak bisa membuat aplikasi bahkan yang sangat sederhana sekalipun, kecuali jika aplikasi yang kita buat tidak berhubungan dengan database.
Buatlah database dengan nama crud_sederhana, bisa dengan menggunakan Command Promt atau dengan phpMyAdmin. Setelah database dibuat, langkah selanjutnya yaitu membuat tabel dengan nama tbl_mahasiswa ke dalam database tadi.
Berikut cara membuat CRUD sederhana :
1. Membuat Database
Berikut script untuk membuat tabel tbl_mahasiswa :
CREATE TABLE `tbl_mahasiswa` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nim` char(8) DEFAULT NULL,
`nama` varchar(100) DEFAULT NULL,
`jurusan` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
);
2. Membuat Koneksi dengan Database
Sebelum melakukan langkah ini kita harus membuat folder untuk menyimpan file-file yang nantinya akan kita buat. Buat folder dengan nama crud_sederhana di dalam folder xampp/htdocs/disini.
Langkah selanjutnya yaitu membuat file untuk melakukan koneksi ke database. Buat file baru dengan nama koneksi.php, simpan ke dalam folder crud_sederhana tadi, kemudian isi dengan kode dibawah ini:
<?php
// buat koneksi dengan database mysql
$host = "localhost";
$user = "root";
$pass = "";
$name = "crud_sederhana";
$link = mysqli_connect($host,$user,$pass,$name);
//periksa koneksi, tampilkan pesan kesalahan jika gagal
if(!$link){
die ("Koneksi dengan database gagal: ".mysql_connect_errno().
" - ".mysql_connect_error());
}
?>
Silahkan sesuaikan variabel $host dan $user sesuai dengan komputer Anda.
File koneksi.php ini nantinya akan kita panggil ke dalam file-file lainnya dengan fungsi include() agar setiap file bisa terhubung ke database.
3. Menampilkan Data (READ)
Langkah ketiga yaitu membuat file untuk menampilkan data. Karena akan kita jadikan sebagai halaman utama maka kita beri nama file ini dengan nama index.php. Setelah membuat file index.php di dalam folder crud_sederhana, isilah dengan kode berikut:
File koneksi.php ini nantinya akan kita panggil ke dalam file-file lainnya dengan fungsi include() agar setiap file bisa terhubung ke database.
3. Menampilkan Data (READ)
Langkah ketiga yaitu membuat file untuk menampilkan data. Karena akan kita jadikan sebagai halaman utama maka kita beri nama file ini dengan nama index.php. Setelah membuat file index.php di dalam folder crud_sederhana, isilah dengan kode berikut:
<?php
// memanggil file koneksi.php untuk melakukan koneksi database
include 'koneksi.php';
?>
<!DOCTYPE html>
<html>
<head>
<style>
h1 {margin:0}
table{width: 840px;border-collapse:collapse;}
tr th,tr td{text-align:left;padding:5px 10px;}
</style>
</head>
<body>
<h1>Tabel Data Mahasiswa</h1>
<p><a href="index.php">Tampil Data</a> | <a href="input.php">Input Data</a></p>
<table border="1">
<tr>
<th>No</th>
<th>NIM</th>
<th>Nama</th>
<th>Jurusan</th>
<th>Aksi</th>
</tr>
<?php
// jalankan query untuk menampilkan semua data diurutkan berdasarkan nim
$query = "SELECT * FROM tbl_mahasiswa ORDER BY nim ASC";
$result = mysqli_query($link, $query);
//mengecek apakah ada error ketika menjalankan query
if(!$result){
die ("Query Error: ".mysqli_errno($link).
" - ".mysqli_error($link));
}
//buat perulangan untuk element tabel dari data mahasiswa
$no = 1; //variabel untuk membuat nomor urut
// hasil query akan disimpan dalam variabel $data dalam bentuk array
// kemudian dicetak dengan perulangan while
while($data = mysqli_fetch_assoc($result)) {
// mencetak / menampilkan data
echo "<tr>";
echo "<td>$no</td>"; //menampilkan no urut
echo "<td>$data[nim]</td>"; //menampilkan data nim
echo "<td>$data[nama]</td>"; //menampilkan data nama
echo "<td>$data[jurusan]</td>"; //menampilkan data jurusan
// membuat link untuk mengedit dan menghapus data
echo '<td>
<a href="edit.php?id='.$data['id'].'">Edit</a> /
<a href="hapus.php?id='.$data['id'].'"
onclick="return confirm(\'Anda yakin akan menghapus data?\')">Hapus</a>
</td>';
echo "</tr>";
$no++; // menambah nilai nomor urut
}
?>
</table>
</body>
</html>
4. Memasukan Data (CREATE)
Pada tahap ini kita akan membuat dua buah file. File yang pertama berisi sebuah form untuk memasukkan data yang akan kita beri nama input.php. File yang kedua berfungsi untuk memproses data yang telah dimasukkan pada form input.php. File ini kita beri nama input_proses.php.
Berikut ini adalah tampilan kode pada file input.php:
<!DOCTYPE html>
<html>
<head>
<style>
h1{margin:0;margin-bottom:10px;}
label{width:105px;display:inline-block;margin-bottom:10px;}
input{padding:2px;}
input[type=submit]{margin-left:117px;}
</style>
</head>
<body>
<h1>Input Data</h1>
<form id="form_mahasiswa" action="input_proses.php" method="post">
<label for="nim">NIM</label> : <input type="text" name="nim" id="nim" placeholder=""><br/>
<label for="nama">Nama</label> : <input type="text" name="nama" id="nama"><br/>
<label for="jurusan">Jurusan</label> : <input type="text" name="jurusan" id="jurusan"><br/>
<input type="submit" name="input" value="Tambah Data"><br/>
</form>
</body>
</html>
Tampilan kode input_proses.php adalah sebagai berikut:
<?php
// memanggil file koneksi.php untuk melakukan koneksi database
include 'koneksi.php';
// mengecek apakah tombol input dari form telah diklik
if (isset($_POST['input'])) {
// membuat variabel untuk menampung data dari form
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$jurusan = $_POST['jurusan'];
// jalankan query INSERT untuk menambah data ke database
$query = "INSERT INTO tbl_mahasiswa VALUES (NULL, '$nim', '$nama', '$jurusan')";
$result = mysqli_query($link, $query);
// periska query apakah ada error
if(!$result){
die ("Query gagal dijalankan: ".mysqli_errno($link).
" - ".mysqli_error($link));
}
}
// melakukan redirect (mengalihkan) ke halaman index.php
header("location:index.php");
?>
Sampai tahap ini kita sudah bisa menginput data ke dalam tabel tbl_mahasiswa, namun kita belum bisa melakukan edit data dan hapus data.
5. Mengupdate / Mengedit Data (UPDATE)
Langkah selanjutnya yaitu membuat halaman untuk update/edit data. Sama seperti sebelumnya, pada tahap ini kita akan membuat dua file: file untuk membuat form dan file untuk memproses form.
Sekarang buat file untuk membuat form update data dengan nama edit.php. kemudian isikan kode berikut:
<?php
// memanggil file koneksi.php untuk membuat koneksi
include 'koneksi.php';
// mengecek apakah di url ada nilai GET id
if (isset($_GET['id'])) {
// ambil nilai id dari url dan disimpan dalam variabel $id
$id = ($_GET["id"]);
// menampilkan data mahasiswa dari database yang mempunyai id=$id
$query = "SELECT * FROM tbl_mahasiswa WHERE id=$id";
$result = mysqli_query($link, $query);
// mengecek apakah query gagal
if(!$result){
die ("Query Error: ".mysqli_errno($link).
" - ".mysqli_error($link));
}
// mengambil data dari database dan membuat variabel" utk menampung data
// variabel ini nantinya akan ditampilkan pada form
$data = mysqli_fetch_assoc($result);
$nim = $data["nim"];
$nama = $data["nama"];
$jurusan = $data["jurusan"];
} else {
// apabila tidak ada data GET id pada akan di redirect ke index.php
header("location:index.php");
}
?>
<!DOCTYPE html>
<html>
<head>
<style>
h1{margin:0;margin-bottom:10px;}
label{width:105px;display:inline-block;margin-bottom:10px;}
input{padding:2px;}
input[type=submit]{margin-left:117px;}
</style>
</head>
<body>
<h1>Edit Data</h1>
<form id="form_mahasiswa" action="edit_proses.php" method="post">
<input type="hidden" name="id" value="<?php echo $id; ?>">
<label for="nim">NIM</label> : <input type="text" name="nim" id="nim" value="<?php echo $nim ?>"><br/>
<label for="nama">Nama</label> : <input type="text" name="nama" id="nama" value="<?php echo $nama ?>"><br/>
<label for="jurusan">Jurusan</label> : <input type="text" name="jurusan" id="jurusan" value="<?php echo $jurusan ?>"><br/>
<input type="submit" name="edit" value="Update Data"><br/>
</form>
</body>
</html>
Sekarang buat file edit_proses.php. Lalu isikan kode berikut:
<?php
// mengecek apakah tombol edit telah diklik
if (isset($_POST['edit'])) {
// buat koneksi dengan database
include("koneksi.php");
// membuat variabel untuk menampung data dari form edit
$id = $_POST['id'];
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$jurusan = $_POST['jurusan'];
//buat dan jalankan query UPDATE
$query = "UPDATE tbl_mahasiswa SET ";
$query .= "nim = '$nim', nama = '$nama', ";
$query .= "jurusan = '$jurusan' ";
$query .= "WHERE id = '$id'";
$result = mysqli_query($link, $query);
//periksa hasil query apakah ada error
if(!$result) {
die ("Query gagal dijalankan: ".mysqli_errno($link).
" - ".mysqli_error($link));
}
}
//lakukan redirect ke halaman index.php
header("location:index.php");
?>
6. Menghapus Data (DELETE)
Langkah terakhir yaitu membuat halaman untuk menghapus data. Buat file bernama hapus.php kemudian isi dengan kode berikut:
Sama seperti halaman edit.php, halaman hapus.php ini dapat diakses melalui link yang terdapat pada kolom Pilihan pada Tabel Data Mahasiswa di halaman index.php.
File hapus.php akan mengambil nilai id pada query string menggunakan variabel $_GET[“id”]. Nilai id ini digunakan untuk mengetahui data mahasiswa yang mana yang akan dihapus. Setelah itu data dihapus menggunakan query "DELETE FROM mahasiswa WHERE id=$id ".
Sampai tahap ini kita telah selesai membuat aplikasi CRUD sederhana untuk mengolah data mahasiswa.
Langkah terakhir yaitu membuat halaman untuk menghapus data. Buat file bernama hapus.php kemudian isi dengan kode berikut:
<?php
// buka koneksi dengan MySQL
include("koneksi.php");
//mengecek apakah di url ada GET id
if (isset($_GET["id"])) {
// menyimpan variabel id dari url ke dalam variabel $id
$id = $_GET["id"];
//jalankan query DELETE untuk menghapus data
$query = "DELETE FROM tbl_mahasiswa WHERE id=$id ";
$hasil_query = mysqli_query($link, $query);
//periksa query, apakah ada kesalahan
if(!$hasil_query) {
die ("Gagal menghapus data: ".mysqli_errno($link).
" - ".mysqli_error($link));
}
}
// melakukan redirect ke halaman index.php
header("location:index.php");
?>
File hapus.php akan mengambil nilai id pada query string menggunakan variabel $_GET[“id”]. Nilai id ini digunakan untuk mengetahui data mahasiswa yang mana yang akan dihapus. Setelah itu data dihapus menggunakan query "DELETE FROM mahasiswa WHERE id=$id ".
Sampai tahap ini kita telah selesai membuat aplikasi CRUD sederhana untuk mengolah data mahasiswa.