CRUD MongoDB-PHP

CRUD MongoDB-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.

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:


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 koneksi[1]mongodb.php

2. Tuliskan skrip berikut ini :

<?php
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
echo "Koneksi ke MongoDB berhasil.";
?>  

Uji Koneksi MongoDB

http://localhost/mongodb/koneksi-mongodb.php PHP sudah berhasil terkoneksi dengan MongoDB

1. Buka browser dan ketikkan

2. Jika muncul tulisan “Koneksi ke MongoDB berhasil.”, maka



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 

<!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> 

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


















Komentar

Postingan populer dari blog ini

Demo Bypass Login dengan SQL Injection

RANSOMWARE