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 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):
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>
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
Posting Komentar