Membuat aplikasi CRUD MongoDB dengan PHP

• Membuat aplikasi CRUD dengan menggunakan PHP & MongoDB 

• Database yang digunakan adalah Perpustakaan dengan koleksi Buku yang terdiri dari judul dan tahun 

• Aplikasi bisa melakukan operasi tambah, edit dan hapus data yang terkoneksi langsung dengan MongoDB

Download Driver MongoDB 

Untuk menginstal driver PHP MongoDB secara manual, ikuti langkah-langkah berikut: 

1. Unduh driver PHP MongoDB yang sesuai dengan versi PHP Anda. https://pecl.php.net/package/mongodb



2. Pindahkan file php_mongodb.dll ke direktori ext dalam instalasi PHP di XAMPP (biasanya ada di C:\xampp\php\ext). 

3. Edit file php.ini yang ada di C:\xampp\php\php.ini, tambahkan baris berikut di bagian ekstensi: extension=php_mongodb.dll


Cek Instalasi

1. Setelah melakukan proses tersebut, restart Apache pada xampp control panel 

2. Buka browser & ketikkan http://localhost/dashboard/phpinfo.php 

3. Pastikan mongoDB sudah terinstall pada phpinfo()




Uji Koneksi MongoDB

1. Buat skrip PHP di C:\xampp\htdocs dan beri nama koneksimongodb.php 

2. Tuliskan skrip berikut ini 

<?php

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

echo "Koneksi ke MongoDB berhasil.";

?>



3. Buka browser dan ketikkan http://localhost/mongodb/koneksi-mongodb.php 

4. Jika muncul tulisan “Koneksi ke MongoDB berhasil.”, maka PHP sudah berhasil terkoneksi dengan MongoDB




Membuat File index.php

1. Buat folder mongodb pada direktori C:\xampp\htdocs


 

2. Buat file index.php dan masukkan skrip pada file berikut (no 13): 

https://docs.google.com/document/d/1JFlofE0BICnLb9-Cz3LtzWG-pgxNmyFJW3wpfrhK8GA/edit?usp=sharing




Test CRUD 

1. Buat browser dan ketikkan http://localhost/mongodb/index.php 

2. Lakukan test CRUD



KUIS

1. Pada MongoDB buat database polibest dan koleksi mahasiswa yang terdiri dari nim, nama, email dan alamat 

2. Buat CRUD dengan menggunakan PHP

Langkah-langkah:

  • Pada file index.php, masukkan kode PHP di bawah ini

<!DOCTYPE html>
<html>
<head>
    <title>Aplikasi CRUD Mahasiswa</title>
</head>
<body>
    <h1>Aplikasi CRUD Mahasiswa</h1>

    <?php
    // Inisialisasi koneksi MongoDB
    try {
        $mongo = new MongoDB\Driver\Manager("mongodb://localhost:27017");
        $database = "polibest";
    } catch (MongoDB\Driver\Exception\Exception $e) {
        echo "Koneksi MongoDB gagal: " . $e->getMessage();
        exit;
    }

    if (isset($_POST['tambah'])) {
        // Operasi tambah mahasiswa
        $nim = $_POST['nim'];
        $nama = $_POST['nama'];
        $email = $_POST['email'];
        $alamat = $_POST['alamat'];

        $bulk = new MongoDB\Driver\BulkWrite;
        $bulk->insert(['nim' => $nim, 'nama' => $nama, 'email' => $email, 'alamat' => $alamat]);

        $result = $mongo->executeBulkWrite("$database.mahasiswa", $bulk);
        if ($result) {
            header("Location: index.php");
        }
    } elseif (isset($_GET['hapus'])) {
        // Operasi hapus mahasiswa
        $id = new MongoDB\BSON\ObjectId($_GET['hapus']);

        $bulk = new MongoDB\Driver\BulkWrite;
        $bulk->delete(['_id' => $id]);

        $result = $mongo->executeBulkWrite("$database.mahasiswa", $bulk);
        if ($result) {
            header("Location: index.php");
        }
    } elseif (isset($_POST['edit'])) {
        // Operasi edit mahasiswa
        $id = new MongoDB\BSON\ObjectId($_POST['id']);
        $nim = $_POST['nim'];
        $nama = $_POST['nama'];
        $email = $_POST['email'];
        $alamat = $_POST['alamat'];

        $bulk = new MongoDB\Driver\BulkWrite;
        $bulk->update(['_id' => $id], ['$set' => ['nim' => $nim, 'nama' => $nama, 'email' => $email, 'alamat' => $alamat]]);

        $result = $mongo->executeBulkWrite("$database.mahasiswa", $bulk);
        if ($result) {
            header("Location: index.php");
        }
    }
    ?>

    <h2>Tambah Mahasiswa</h2>
    <form method="post" action="index.php">
        <label for="nim">NIM:</label>
        <input type="text" name="nim" required>
        <label for="nama">Nama:</label>
        <input type="text" name="nama" required>
        <label for="email">Email:</label>
        <input type="email" name="email" required>
        <label for="alamat">Alamat:</label>
        <input type="text" name="alamat" required>
        <button type="submit" name="tambah">Tambah</button>
    </form>

    <h2>Daftar Mahasiswa</h2>
    <table border="1">
        <tr>
            <th>NIM</th>
            <th>Nama</th>
            <th>Email</th>
            <th>Alamat</th>
            <th>Aksi</th>
        </tr>
        <?php
        $query = new MongoDB\Driver\Query([]);
        $result = $mongo->executeQuery("$database.mahasiswa", $query);

        foreach ($result as $mahasiswa) {
            echo "<tr>";
            echo "<td>" . $mahasiswa->nim . "</td>";
            echo "<td>" . $mahasiswa->nama . "</td>";
            echo "<td>" . $mahasiswa->email . "</td>";
            echo "<td>" . $mahasiswa->alamat . "</td>";
            echo "<td><a href='index.php?edit=" . $mahasiswa->_id . "'>Edit</a> | <a href='index.php?hapus=" . $mahasiswa->_id . "'>Hapus</a></td>";
            echo "</tr>";
        }
        ?>
    </table>

    <?php
    if (isset($_GET['edit'])) {
        $id = new MongoDB\BSON\ObjectId($_GET['edit']);
        $query = new MongoDB\Driver\Query(['_id' => $id]);
        $result = $mongo->executeQuery("$database.mahasiswa", $query);

        foreach ($result as $mahasiswa) {
    ?>
            <h2>Edit Mahasiswa</h2>
            <form method="post" action="index.php">
                <input type="hidden" name="id" value="<?php echo $mahasiswa->_id; ?>">
                <label for="nim">NIM:</label>
                <input type="text" name="nim" value="<?php echo $mahasiswa->nim; ?>" required>
                <label for="nama">Nama:</label>
                <input type="text" name="nama" value="<?php echo $mahasiswa->nama; ?>" required>
                <label for="email">Email:</label>
                <input type="email" name="email" value="<?php echo $mahasiswa->email; ?>" required>
                <label for="alamat">Alamat:</label>
                <input type="text" name="alamat" value="<?php echo $mahasiswa->alamat; ?>" required>
                <button type="submit" name="edit">Simpan Perubahan</button>
            </form>
    <?php
        }
    }
    ?>
</body>
</html>

  • Kemudian, buka browser dan ketikkan http://localhost/mongodb/index.php untuk mengecek tampilannya.
  • Berikut merupakan tampilan akhirnya.





Komentar

Postingan Populer