Dalam tutorial ini, kita akan membangun aplikasi CRUD dengan PHP dan MySQL. Aplikasi ini akan memungkinkan pengguna untuk menambah, membaca, memperbarui, dan menghapus entri dalam sebuah buku alamat. CRUD (Create, Read, Update, Delete) adalah konsep fundamental dalam pengelolaan data dalam aplikasi web. Dalam tutorial ini, kita akan menjelaskan langkah-langkah detail untuk mengimplementasikan operasi CRUD menggunakan PHP dan MySQL
Langkah 1: Persiapan Database
- Buat database dengan nama “bookstore”.
- Buat tabel “contacts” dengan kolom-kolom:
id
(INT AUTO_INCREMENT),name
(VARCHAR),email
(VARCHAR), danphone
(VARCHAR).
Langkah 2: Koneksi ke Database
Buat file db.php
untuk mengatur koneksi ke database.
<?php $hostname = "localhost"; $username = "username_db"; $password = "password_db"; $database = "bookstore"; $conn = new mysqli($hostname, $username, $password, $database); if ($conn->connect_error) { die("Koneksi gagal: " . $conn->connect_error); } ?>
Langkah 3: Membuat Halaman Read (Daftar Kontak)
Buat file index.php
untuk menampilkan daftar kontak dari database.
<?php include('db.php'); ?> <!DOCTYPE html> <html> <head> <title>Daftar Kontak</title> </head> <body> <h1>Daftar Kontak</h1> <a href="add.php">Tambah Kontak Baru</a> <table border="1"> <tr> <th>ID</th> <th>Nama</th> <th>Email</th> <th>Telepon</th> <th>Aksi</th> </tr> <?php $sql = "SELECT * FROM contacts"; $result = $conn->query($sql); 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>".$row['phone']."</td> <td> <a href='edit.php?id=".$row['id']."'>Edit</a> <a href='delete.php?id=".$row['id']."'>Hapus</a> </td> </tr>"; } } else { echo "<tr><td colspan='5'>Tidak ada data.</td></tr>"; } ?> </table> </body> </html>
Langkah 4: Membuat Halaman Create (Tambah Kontak Baru)
Buat file add.php
untuk menambahkan kontak baru ke dalam database.
<?php include('db.php'); if ($_SERVER['REQUEST_METHOD'] === 'POST') { $name = $_POST['name']; $email = $_POST['email']; $phone = $_POST['phone']; $sql = "INSERT INTO contacts (name, email, phone) VALUES ('$name', '$email', '$phone')"; if ($conn->query($sql) === TRUE) { header("Location: index.php"); } else { echo "Error: " . $sql . "<br>" . $conn->error; } } ?> <!DOCTYPE html> <html> <head> <title>Tambah Kontak Baru</title> </head> <body> <h1>Tambah Kontak Baru</h1> <form method="post"> Nama: <input type="text" name="name" required><br> Email: <input type="email" name="email" required><br> Telepon: <input type="text" name="phone" required><br> <input type="submit" value="Tambah"> </form> <a href="index.php">Kembali ke Daftar Kontak</a> </body> </html>
Langkah 5: Membuat Halaman Update (Edit Kontak)
Buat file edit.php
untuk mengedit kontak yang sudah ada.
<?php include('db.php'); if ($_SERVER['REQUEST_METHOD'] === 'POST') { $id = $_POST['id']; $name = $_POST['name']; $email = $_POST['email']; $phone = $_POST['phone']; $sql = "UPDATE contacts SET name='$name', email='$email', phone='$phone' WHERE id=$id"; if ($conn->query($sql) === TRUE) { header("Location: index.php"); } else { echo "Error updating record: " . $conn->error; } } else { $id = $_GET['id']; $sql = "SELECT * FROM contacts WHERE id=$id"; $result = $conn->query($sql); if ($result->num_rows > 0) { $row = $result->fetch_assoc(); } else { echo "Data tidak ditemukan."; exit(); } } ?> <!DOCTYPE html> <html> <head> <title>Edit Kontak</title> </head> <body> <h1>Edit Kontak</h1> <form method="post"> <input type="hidden" name="id" value="<?php echo $row['id']; ?>"> Nama: <input type="text" name="name" value="<?php echo $row['name']; ?>" required><br> Email: <input type="email" name="email" value="<?php echo $row['email']; ?>" required><br> Telepon: <input type="text" name="phone" value="<?php echo $row['phone']; ?>" required><br> <input type="submit" value="Simpan Perubahan"> </form> <a href="index.php">Kembali ke Daftar Kontak</a> </body> </html>
Langkah 6: Membuat Halaman Delete (Hapus Kontak)
Buat file delete.php
untuk menghapus kontak dari database.
<?php include('db.php'); $id = $_GET['id']; $sql = "DELETE FROM contacts WHERE id=$id"; if ($conn->query($sql) === TRUE) { header("Location: index.php"); } else { echo "Error deleting record: " . $conn->error; } ?>
Langkah 7: Pengujian dan Kesimpulan
Sekarang, Anda memiliki aplikasi CRUD sederhana dengan PHP dan MySQL. Pastikan untuk menguji setiap fitur (Buat, Baca, Perbarui, Hapus) secara menyeluruh untuk memastikan semuanya berfungsi dengan baik. Aplikasi ini dapat menjadi dasar bagi pengembangan aplikasi yang lebih kompleks.
Semoga tutorial ini membantu Anda memahami konsep CRUD dan bagaimana mengimplementasikannya dalam aplikasi PHP dan MySQL. Jangan lupa untuk terus mengasah dan meningkatkan kemampuan Anda dalam pengembangan web dengan praktik yang lebih canggih dan keamanan yang lebih baik.
Beberapa langkah tambahan yang dapat Anda pertimbangkan untuk mengembangkan aplikasi ini lebih lanjut:
- Validasi Data: Pastikan untuk selalu memvalidasi data yang dimasukkan oleh pengguna sebelum menyimpannya ke database. Ini akan membantu mencegah data yang tidak valid atau berbahaya.
- Paging: Jika jumlah data yang ditampilkan dalam daftar kontak sangat besar, pertimbangkan untuk menerapkan paging (pembagian halaman) sehingga pengguna dapat mengakses data dengan lebih nyaman.
- Pencarian: Tambahkan fitur pencarian untuk memungkinkan pengguna mencari kontak berdasarkan kriteria tertentu.
- Keamanan: Selalu prioritaskan keamanan dalam pengembangan. Gunakan prepared statements atau PDO untuk mencegah serangan SQL Injection. Pastikan juga untuk mengamankan akses ke fitur-fitur CRUD yang hanya boleh diakses oleh pengguna yang berwenang.
- Tampilan yang Lebih Menarik: Berikan sentuhan desain yang lebih baik pada tampilan aplikasi agar lebih menarik dan mudah digunakan oleh pengguna.
Dengan melanjutkan belajar dan eksperimen dengan proyek-proyek seperti ini, Anda akan memperluas pemahaman Anda tentang pengembangan web dan dapat membangun aplikasi yang semakin kuat dan kompleks. Tetap konsisten, terus berlatih, dan selamat mengembangkan!