Cara Membuat Aplikasi CRUD dengan PHP dan MongoDB

  

 Cara Membuat Aplikasi CRUD dengan PHP dan MongoDB 


Download Driver MongoDB

https://pecl.php.net/package/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: extension=php_mongodb.dl

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.";
?>

Uji Koneksi MongoDB 

1. Buka browser dan ketikkan http://localhost/mongodb/koneksi-mongodb.php
2. 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):


Test CRUD

1. Buat browser dan ketikkan http://localhost/mongodb/index.php 
2. Lakukan test CRUD 

Latiha/kuis

1. Pada MongoDB buat database polibest dan koleksi mahasiswa yang terdiri dari nim, nama, email dan alamat 
2. Buat CRUD dengan menggunakan PHP 


1. buka Editor HTML atau Visual Studio Code
2. buat folder baru nama folde misalnya index.html
3. buat code atau script seperti 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>





Tidak ada komentar:

Posting Komentar