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