Cara Membuat CRUD Dengan PHP Dan MYSQL
Crud Sederhana PHP |
Membuat CRUD (Create, Read, Update, Delete) sederhana menggunakan PHP dan Mysql. - Ditulisan ini saya membuat CRUD sederhana menggunakan PHP, jadi Apa Itu Crud? Seperti yang kita tahu, Crud adalah singkatan dari Create, Read, Update, Delete fungsi tersebut yang nantinya digunakan untuk implementasi ke database.
Crud ini digunakan di berbagai macam bahasa pemrograman. Seperti dari masing-masing namanya, kita pastinya tahu apa yang akan di lakukan dari setiap fungsi yang kita terapkan, contoh 'Create' simpelnya, pada fungsi create ini memungkinkan untuk membuat dan menambahkan data baru, sedangkan 'Read' digunakan untuk menampilkan data dari dalam database atau semacamnya, dan juga seterusnya. Oke kita langsung masuk ke inti topiknya. Pada penulisan ini saya menggunakan bootstrap v5.2 sebagai pendukung tampilan hehe, berlaku di semua halaman.Berikut step-step cara membuat CRUD menggunakan php mysqli:
Di dalam index.php saya menggunakan komponen table dan button milik bootstrap, didalam table saya memanggil data dan looping menggunakan while.
Didalam halaman edit ini memiliki variabel id yang nilainya terdapat method GET, jadi nilai tersebut diambil dari halaman index.php di bagian <a href="edit.php?id=<?= $data['id'];?>" class="btn btn-info">Edit</a> , dari code tersebut berarti kita meminta id dari data id tersebut lalu dikirimkan ke halaman edit ini.
Didalam halaman delete ini mungkin cukup simple ya, tidak perlu menggunakan html. Dihalaman delete ini juga terdapat variabel id yang nilainya terdapat method GET id, jadi id tersebut di ambil dari halaman index.php, pada bagian <a href="delete.php?id=<?= $data['id'];?>" onclick="return confirm('Yakin Ingin Menghapus Data Ini?');" class="btn btn-danger">Delete</a>.
Membuat Table Database
Sebelumnya saya telah memiliki database yang bernama crud_sederhana dan membuat table data seperti code di bawah
CREATE TABLE `data` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
`kelas` varchar(100) DEFAULT NULL,
`jk` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
Membuat Koneksi PHP
<?php
$koneksi = mysqli_connect("localhost", "root", "", "crud_sederhana");
if(!$koneksi){
die(mysqli_connect_error());
}
?>
Jadi untuk kondisi if pada code di atas, jika tidak ada variabel koneksi maka akan menjalankan fungsi die yang di dalamnya terdapat fungsi php mysqli_connect_error().Membuat Halaman Index.php/Read Data
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Crud PHP</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor" crossorigin="anonymous">
</head>
<body>
<h1 class="text-center">CRUD SEDERHANA PHP MYSQL</h1>
<div class="container">
<a href="tambah.php" class="btn btn-primary mb-3">Tambah Data</a>
<table class="table table-bordered text-center">
<tr>
<thead>
<th>No</th>
<th>Nama</th>
<th>Kelas</th>
<th>Jenis Kelamin</th>
<th>Aksi</th>
</thead>
<?php
include "koneksi.php";
$no = 1;
$qry = $koneksi->query("SELECT * FROM data");
while($data = $qry->fetch_assoc()){ // atau mysqli_fetch_assoc($qry)
?>
<tbody>
<td><?= $no;?></td>
<td><?= $data['name'];?></td>
<td><?= $data['kelas'];?></td>
<td><?= $data['jk'];?></td>
<td>
<a href="edit.php?id=<?= $data['id'];?>" class="btn btn-info">Edit</a>
<a href="delete.php?id=<?= $data['id'];?>" onclick="return confirm('Yakin Ingin Menghapus Data Ini?');" class="btn btn-danger">Delete</a>
</td>
</tbody>
<?php $no++; } ?>
</tr>
</table>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-pprn3073KE6tl6bjs2QrFaJGz5/SUsLqktiwsUTF55Jfv3qYSDhgCecCxMW52nD2" crossorigin="anonymous"></script>
</body>
</html>
Membuat Halaman Create
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Crud PHP</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor" crossorigin="anonymous">
</head>
<body>
<h1 class="text-center">CRUD SEDERHANA PHP MYSQL</h1>
<div class="container">
<form method="post">
<div class="mb-3">
<label>Nama</label>
<input type="text" class="form-control" name="nama">
</div>
<div class="mb-3">
<label>Kelas</label>
<input type="text" class="form-control" name="kelas">
</div>
<div class="mb-3">
<label>Jenis Kelamin</label>
<select name="jk" class="form-control">
<option value="">Pilih</option>
<option value="laki-laki">Laki-Laki</option>
<option value="wanita">Wanita</option>
</select>
</div>
<button type="submit" name="tambah" class="btn btn-primary btn-sm">Simpan</button>
<a href="index.php" class="btn btn-danger btn-sm">Kembali</a>
</form>
</div>
<?php
include "koneksi.php";
if(isset($_POST['tambah'])){
$nama = $_POST['nama'];
$kelas = $_POST['kelas'];
$jk = $_POST['jk'];
$koneksi->query("INSERT INTO data VALUES(NULL, '$nama', '$kelas', '$jk')");
echo "<script>alert('Data Berhasil Ditambahkan!');
window.location.href='index.php';
</script>";
}
?>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-pprn3073KE6tl6bjs2QrFaJGz5/SUsLqktiwsUTF55Jfv3qYSDhgCecCxMW52nD2" crossorigin="anonymous"></script>
</body>
</html>
Didalam halaman tambah ini, terdapat beberapa form yang akan diisi, nama, kelas, dan jenis kelamin, dimana pada form jenis kelamin, saya menggunakan select option, valuenya laki-laki dan wanita. Mungkin teman-teman bisa mengubahnya sesuai kebutuhan.
Sebelum melakukan insert data, terlebih dahulu kita memanggil koneksi yang sebelumnya kita buat. Lalu baru kita eksekusi menggunkan peritah if(isset($_POST['tambah']; jadi, ketika ada tombol yang name-nya itu tambah, akan di eksekusi bagian code di dalam kondisi if tersebut.
$nama = $_POST['nama']; $nama adalah variabel baru yang saya buat untuk menampung nilai, sebelum data dikirim dan di eksekusi oleh query.
Selanjutnya pada variabel koneksi->query("---") merupakan query untuk menambahkan data kedalam tabel database.
Membuat Halaman Update
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Crud PHP</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor" crossorigin="anonymous">
</head>
<body>
<h1 class="text-center">CRUD SEDERHANA PHP MYSQL</h1>
<div class="container">
<?php
include "koneksi.php";
$id = $_GET['id'];
$qry = $koneksi->query("SELECT * FROM data WHERE id = '$id'");
$data = $qry->fetch_assoc();
?>
<form method="post">
<div class="mb-3">
<label>Nama</label>
<input type="text" class="form-control" name="nama" value="<?= $data['name'];?>">
</div>
<div class="mb-3">
<label>Kelas</label>
<input type="text" class="form-control" name="kelas" value="<?= $data['kelas'];?>">
</div>
<div class="mb-3">
<label>Jenis Kelamin</label>
<select name="jk" class="form-control">
<option value="">Pilih</option>
<option value="laki-laki" <?php if($data['jk'] == 'laki-laki'){echo 'selected';}?>>Laki-Laki</option>
<option value="wanita" <?php if($data['jk'] == 'wanita'){echo 'selected';}?>>Wanita</option>
</select>
</div>
<button type="submit" name="edit" class="btn btn-primary btn-sm">Edit</button>
<a href="index.php" class="btn btn-danger btn-sm">Kembali</a>
</form>
</div>
<?php
if(isset($_POST['edit'])){
$nama = $_POST['nama'];
$kelas = $_POST['kelas'];
$jk = $_POST['jk'];
$koneksi->query("UPDATE data SET
name = '$nama',
kelas = '$kelas',
jk = '$jk'
WHERE id = '$id' ");
echo "<script>alert('Data Berhasil Diubah!');
window.location.href='index.php';
</script>";
}
?>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-pprn3073KE6tl6bjs2QrFaJGz5/SUsLqktiwsUTF55Jfv3qYSDhgCecCxMW52nD2" crossorigin="anonymous"></script>
</body>
</html>
Pada variabel qry terdapat query untuk mengambil semua data yang terdapat di dalam tabel data dimana yang id-nya itu id yang baru di klik, dan dikirim sebagai array assosiative di tampung dalam variabel data, selanjutnya pada setiap form, terdapat atribut value yang nilai atributnya itu dari masing-masing data yang kita pilih.
Membuat Halaman Delete
<?php
include "koneksi.php";
$id = $_GET['id'];
$koneksi->query("DELETE FROM data WHERE id='$id'");
header('location:index.php');
?>
Sebelum itu pada button tersebut terdapat atribut onclick, dimana didalamnya memiliki fungsi javascript untuk menampilkan dialog confirm sebelum script php kita di jalankan.
Ketika saat meng-klik yes, maka script php kita akan di eksekusi dan menghapus data yang dipilih lalu di kembalikan ke halaman index.php.
Post a Comment