Lompat ke konten Lompat ke sidebar Lompat ke footer

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

  1. 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.
  2. Database: Anda akan menggunakan MySQL untuk menyimpan data. Pastikan MySQL sudah terinstal di server Anda.
  3. 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.

  1. Masuk ke phpMyAdmin (biasanya bisa diakses di http://localhost/phpmyadmin jika Anda menggunakan XAMPP).
  2. Buat Database: Klik "New" di sebelah kiri dan buat database baru dengan nama crud_app.
  3. 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.
3. Membuat Koneksi Database (db_config.php)

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.

4. Membuat Halaman Index (index.php)

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.

5. Membuat Halaman Tambah Data (create.php)

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.

6. Membuat Halaman Update Data (update.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.

7. Membuat Halaman Hapus Data (delete.php)

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.

8. Penutup

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"