Langkah Membuat CRUD Sederhana dengan PHP dan MySQL
CRUD adalah singkatan dari Create, Read, Update, dan Delete, yang merupakan empat operasi dasar dalam pengelolaan data. Sistem CRUD memungkinkan pengguna untuk membuat, membaca, memperbarui, dan menghapus data di dalam database. Pada artikel ini, kita akan membahas langkah-langkah untuk membuat aplikasi CRUD sederhana menggunakan PHP dan MySQL. Aplikasi ini akan memungkinkan pengguna untuk menambahkan data, melihat data yang ada, memperbarui, dan menghapus data dari database menggunakan antarmuka berbasis web.
1. Persiapan Lingkungan Pengembangan
Sebelum memulai membuat aplikasi CRUD, ada beberapa hal yang perlu Anda siapkan:
1.1. Software yang Diperlukan
- Web Server: Anda memerlukan server web seperti Apache untuk menjalankan aplikasi PHP. Anda bisa menggunakan XAMPP atau WAMP untuk menginstal Apache, MySQL, dan PHP secara bersamaan dalam satu paket.
- Database: Anda akan menggunakan MySQL untuk menyimpan data. Pastikan MySQL sudah terinstal di server Anda.
- Text Editor atau IDE: Anda membutuhkan editor teks seperti VS Code, Sublime Text, atau IDE seperti PHPStorm untuk menulis kode PHP.
1.2. Mengatur Database MySQL
Langkah pertama adalah membuat database dan tabel di MySQL untuk menyimpan data. Misalnya, kita akan membuat database bernama crud_app
dengan tabel users
yang memiliki kolom untuk id
, name
, dan email
.
- Masuk ke phpMyAdmin (biasanya bisa diakses di
http://localhost/phpmyadmin
jika Anda menggunakan XAMPP). - Buat Database: Klik "New" di sebelah kiri dan buat database baru dengan nama
crud_app
. - Buat Tabel: Setelah database dibuat, buat tabel dengan nama
users
dan tambahkan kolom berikut:id
(INT, PRIMARY KEY, AUTO_INCREMENT)name
(VARCHAR)email
(VARCHAR)
Contoh query SQL untuk membuat tabel users
:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL
);
2. Struktur Direktori Proyek
Sebelum mulai menulis kode, kita perlu menyusun struktur direktori proyek untuk aplikasi CRUD ini. Berikut adalah struktur direktori yang disarankan:
crud_app/
├── index.php
├── create.php
├── read.php
├── update.php
├── delete.php
├── db_config.php
└── style.css
- index.php: Halaman utama yang menampilkan daftar pengguna.
- create.php: Halaman untuk menambahkan data baru.
- read.php: Halaman untuk membaca data dari database.
- update.php: Halaman untuk memperbarui data yang ada.
- delete.php: Halaman untuk menghapus data.
- db_config.php: File yang berisi konfigurasi untuk koneksi ke database.
- style.css: File CSS untuk memberikan gaya pada halaman-halaman tersebut.
Langkah pertama adalah membuat file db_config.php
yang berfungsi untuk menghubungkan aplikasi PHP dengan database MySQL. Berikut adalah contoh kode untuk membuat koneksi database:
<?php
$servername = "localhost";
$username = "root"; // username default untuk XAMPP/WAMP
$password = ""; // password default untuk XAMPP/WAMP
$dbname = "crud_app"; // nama database yang telah Anda buat
// Membuat koneksi
$conn = new mysqli($servername, $username, $password, $dbname);
// Memeriksa koneksi
if ($conn->connect_error) {
die("Koneksi gagal: " . $conn->connect_error);
}
?>
Kode di atas membuat koneksi ke database crud_app
dengan menggunakan kredensial default dari XAMPP/WAMP. Pastikan Anda mengganti kredensial ini jika menggunakan pengaturan lain.
Halaman index.php
adalah halaman utama aplikasi yang menampilkan semua data pengguna dari database. Berikut adalah kode untuk menampilkan daftar pengguna:
<?php
include 'db_config.php';
$sql = "SELECT * FROM users";
$result = $conn->query($sql);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CRUD PHP & MySQL</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Daftar Pengguna</h1>
<a href="create.php">Tambah Pengguna</a>
<table>
<tr>
<th>ID</th>
<th>Nama</th>
<th>Email</th>
<th>Actions</th>
</tr>
<?php
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "<tr>
<td>".$row["id"]."</td>
<td>".$row["name"]."</td>
<td>".$row["email"]."</td>
<td>
<a href='update.php?id=".$row["id"]."'>Edit</a> |
<a href='delete.php?id=".$row["id"]."'>Hapus</a>
</td>
</tr>";
}
} else {
echo "<tr><td colspan='4'>Tidak ada data</td></tr>";
}
$conn->close();
?>
</table>
</body>
</html>
Kode di atas menampilkan tabel dengan data pengguna yang diambil dari tabel users
di database. Setiap baris data memiliki dua tautan untuk mengedit dan menghapus data.
Halaman ini memungkinkan pengguna untuk menambahkan data baru ke dalam database. Berikut adalah kode untuk halaman create.php
:
<?php
include 'db_config.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
$email = $_POST['email'];
$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
if ($conn->query($sql) === TRUE) {
header("Location: index.php");
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
$conn->close();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tambah Pengguna</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Tambah Pengguna</h1>
<form method="POST" action="create.php">
<label for="name">Nama:</label><br>
<input type="text" id="name" name="name" required><br><br>
<label for="email">Email:</label><br>
<input type="email" id="email" name="email" required><br><br>
<input type="submit" value="Tambah Pengguna">
</form>
<a href="index.php">Kembali ke Daftar Pengguna</a>
</body>
</html>
Pada halaman ini, formulir digunakan untuk meminta input nama dan email pengguna. Setelah data di-submit, data akan dimasukkan ke dalam tabel users
di database, dan pengguna akan diarahkan kembali ke halaman index.php
.
Halaman update.php
memungkinkan pengguna untuk memperbarui data yang ada. Berikut adalah kode untuk halaman update.php
:
<?php
include 'db_config.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$id = $_POST['id'];
$name = $_POST['name'];
$email = $_POST['email'];
$sql = "UPDATE users SET name='$name', email='$email' WHERE id=$id";
if ($conn->query($sql) === TRUE) {
header("Location: index.php");
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
$id = $_GET['id'];
$sql = "SELECT * FROM users WHERE id=$id";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$conn->close();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Edit Pengguna</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Edit Pengguna</h1>
<form method="POST" action="update.php">
<input type="hidden" name="id" value="<?php echo $row['id']; ?>">
<label for="name">Nama:</label><br>
<input type="text" id="name" name="name" value="<?php echo $row['name']; ?>" required><br><br>
<label for="email">Email:</label><br>
<input type="email" id="email" name="email" value="<?php echo $row['email']; ?>" required><br><br>
<input type="submit" value="Perbarui Pengguna">
</form>
<a href="index.php">Kembali ke Daftar Pengguna</a>
</body>
</html>
Kode ini mengambil ID pengguna dari URL ($_GET['id']
), menampilkan data yang ada dalam formulir, dan memungkinkan pengguna untuk memperbarui nama dan email.
Halaman ini akan menghapus data pengguna dari database. Berikut adalah kode untuk halaman delete.php
:
<?php
include 'db_config.php';
if (isset($_GET['id'])) {
$id = $_GET['id'];
$sql = "DELETE FROM users WHERE id=$id";
if ($conn->query($sql) === TRUE) {
header("Location: index.php");
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
$conn->close();
?>
Dengan halaman ini, ketika pengguna mengklik tautan "Hapus" pada halaman index.php
, data pengguna akan dihapus dari database.
Dengan mengikuti langkah-langkah di atas, Anda telah berhasil membuat aplikasi CRUD sederhana menggunakan PHP dan MySQL. Aplikasi ini memungkinkan Anda untuk menambahkan, memperbarui, membaca, dan menghapus data pengguna melalui antarmuka berbasis web. Anda bisa mengembangkan aplikasi ini lebih lanjut dengan menambahkan fitur keamanan seperti validasi input, autentikasi pengguna, dan lain-lain.
Selamat mencoba.
Posting Komentar untuk "Langkah Membuat CRUD Sederhana dengan PHP dan MySQL"