Membuat CRUD (create, read, update, delete) PHP versi PDO – Episode 3.2

Berikut adalah contoh sederhana implementasi CRUD (Create, Read, Update, Delete) menggunakan PHP native dan PDO.

Struktur Folder

Copy/crud-example
├── index.php
├── create.php
├── edit.php
├── delete.php
└── db.php

1. db.php

File ini akan mengatur koneksi database.

Copy<?php
$host = 'localhost';
$db = 'database_name'; // Ganti dengan nama database Anda
$user = 'username'; // Ganti dengan username database Anda
$pass = 'password'; // Ganti dengan password database Anda

try {
$pdo = new PDO("mysql:host=$host;dbname=$db", $user, $pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>

2. index.php

File ini akan menampilkan daftar data.

Copy<?php
include 'db.php';

// Fetch data
$stmt = $pdo->query("SELECT * FROM users");
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CRUD PHP PDO</title>
</head>
<body>
<h1>Daftar Pengguna</h1>
<a href="create.php">Tambah Pengguna</a>
<table border="1">
<thead>
<tr>
<th>ID</th>
<th>Nama</th>
<th>Email</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<?php foreach ($users as $user): ?>
<tr>
<td><?php echo $user['id']; ?></td>
<td><?php echo $user['name']; ?></td>
<td><?php echo $user['email']; ?></td>
<td>
<a href="edit.php?id=<?php echo $user['id']; ?>">Edit</a>
<a href="delete.php?id=<?php echo $user['id']; ?>" onclick="return confirm('Anda yakin ingin menghapus?');">Hapus</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</body>
</html>

3. create.php

File ini untuk menambah data baru.

Copy<?php
include 'db.php';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = $_POST['name'];
$email = $_POST['email'];

$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->execute(['name' => $name, 'email' => $email]);

header("Location: index.php");
exit();
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Tambah Pengguna</title>
</head>
<body>
<h1>Tambah Pengguna</h1>
<form method="post">
<label>Nama:</label>
<input type="text" name="name" required><br>
<label>Email:</label>
<input type="email" name="email" required><br>
<input type="submit" value="Simpan">
</form>
</body>
</html>

4. edit.php

File ini untuk mengedit data yang sudah ada.

Copy<?php
include 'db.php';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$id = $_POST['id'];
$name = $_POST['name'];
$email = $_POST['email'];

$stmt = $pdo->prepare("UPDATE users SET name = :name, email = :email WHERE id = :id");
$stmt->execute(['name' => $name, 'email' => $email, 'id' => $id]);

header("Location: index.php");
exit();
}

$id = $_GET['id'];
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = :id");
$stmt->execute(['id' => $id]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Edit Pengguna</title>
</head>
<body>
<h1>Edit Pengguna</h1>
<form method="post">
<input type="hidden" name="id" value="<?php echo $user['id']; ?>">
<label>Nama:</label>
<input type="text" name="name" value="<?php echo $user['name']; ?>" required><br>
<label>Email:</label>
<input type="email" name="email" value="<?php echo $user['email']; ?>" required><br>
<input type="submit" value="Update">
</form>
</body>
</html>

5. delete.php

File ini untuk menghapus data.

Copy<?php
include 'db.php';

if (isset($_GET['id'])) {
$id = $_GET['id'];

$stmt = $pdo->prepare("DELETE FROM users WHERE id = :id");
$stmt->execute(['id' => $id]);

header("Location: index.php");
exit();
}

6. Database Setup (MySQL)

Pastikan Anda sudah membuat database dan tabel untuk menyimpan data pengguna. Jalankan query berikut di MySQL:

CopyCREATE DATABASE database_name;
USE database_name;

CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL
);

Penjelasan

  • index.php: Menampilkan daftar pengguna.
  • create.php: Form untuk menambahkan pengguna baru.
  • edit.php: Form untuk mengedit data pengguna yang sudah ada.
  • delete.php: Menghapus pengguna berdasarkan ID.
  • db.php: Koneksi ke database menggunakan PDO.
Ini adalah contoh CRUD sederhana. Anda dapat mengembangkannya lebih lanjut dengan menambahkan validasi atau fitur lain sesuai kebutuhan. Pastikan untuk mengganti database_name, username, dan password dengan informasi database Anda yang sebenarnya.

Referensi Lainnya :

  • https://drive.google.com/file/d/13orWusNkcZQ4zL_Qy-atZlvR9sXl3ku8/view?usp=classroom_web&authuser=0
  • https://drive.google.com/file/d/1dNk-_zj3GloRu6ZB96XeGXCMQ-tapBfm/view?usp=classroom_web&authuser=0
  • https://drive.google.com/file/d/1eqpZ1vtVESCx9JvbOOYNLoYeWZ4nCpot/view?usp=classroom_web&authuser=0
  • https://drive.google.com/file/d/1ZytJEN2asGe1WZaw7XJoxWykRbQuUXPW/view?usp=classroom_web&authuser=0
Tags :

Leave a Reply

Your email address will not be published. Required fields are marked *

14 − 2 =

Tutorial Terpopuler

Tutorial Pilihan

Tentang Gurututorku

Gurututorku adalah sebuah kursus online maupun offline yang menyediakan berbagai macam tutorial tentang pemrograman, design, dan multimedia serta artikel teknologi yang tentunya bisa dinikmati dan dipelajari oleh semua orang yang baru ingin belajar dunia IT.

© 2024 – Gurututorku.com | Learning today success tomorrow.