CRUD Membuat Blog Sederhana Dengan PHP MongoDB
CRUD Membuat Blog Sederhana Dengan PHP MongoDB
PHP + MongoDB
Oleh: titan
Pada tutorial sebelumnya saya pernah menulis mengenai cara menginstall mongodb dan ngulik
sedikit , pada tutorial ini saya akan coba membahas bagaimana mongodb ini dalam membuat
aplikasi. Sedikit mengulas mengenai mongodb, mongodb bersifat collection oriented, data-data
disimpan dalam bentuk collection, saya asumsikan driver mongodb telah terinstall di webserver, jika
belum dapat baca di sini.
Dalam tutorial kali ini kita akan membuat beberapa file yaitu :
1.
2.
3.
4.
5.
config.php
<?php
//mongo connection
$connection=new Mongo();
$db= $connection->selectDB('Blogdb');
//collection Blogdb
$blog = $connection->Blogdb->artikel;
?>
untuk membuat koneksi database dan membuat database di mongodb cukup simple, variabel
$connection berisi object baru dari mongodb, variabel koneksi kemudian di gunakan untuk membuat
database dengan method selectDb('nama_db'), selanjutnya kita akan membuat collection bernama
'Artikel', dimasukkan ke variabel $blog, selanjutnya...
list_artikel.php
<html>
<head></head>
<body>
<a href="add_artikel.php">Tambah Artikel</a><br/>
<?php
include('config.php');
$listartikel= $db->artikel->find();
foreach($listartikel as $id=>$b){
echo "<h2>".$b['judul']." </h2><a
href='edit_artikel.php?id=".$id."'>[Edit]</a> | "."<a
href='delete_artikel.php?id=".$id."'>[Delete]</a>";
echo "<p>".$b['tanggal']."<br/>".$b['isi']."</p>";
}
?>
</body>
</html>
Data dari database mongodb diakses menggunakan method 'find()', jika mengkases 1 data
'findOne()', jika kita membutuhkan kondisi data yang diakses kita bisa menambahkan kondisi dalam
bentuk array contoh : 'find(array('judul'=>'titan'))' dan ini case sensitive, untuk proses query lebih
lengkapnya bisa di liat di manual mongodb.
kembali kepenjelasan kode diatas, data di foreach dan variabel $id untuk mengambil id atau primary
key klo dalam istilah RDBMS dalam mongodb konsep primary key berupa id unik dari object yang
telah di encrypt, dengan key object ['_id']. Selanjutnya data di ambil sesuai dengan key array. untuk
memberikan kondis pada primary key ini harus bersifat object contoh : array( '_id' => new
MongoId($id))
add_artikel.php
<html>
<head></head>
<body>
<h1>Tambah Artikel</h1>
<form action="add_artikel.php" method="POST">
<label>Judul</label> : <input type="text"
name="judul"/><br/>
<label>Artikel</label> : <textarea name="isi" cols='20'
rows='10'></textarea><br/>
edit_artikel.php
<html>
<head></head>
<body>
<?php
include('config.php');
$id= new MongoId($_GET['id']);
$detil=$blog->findOne(array('_id'=>$id));
?>
<h1>Edit Artikel</h1>
<form action="edit_artikel.php" method="POST">
<input type="hidden" name="id" value="<?php echo
$_GET['id']?>"/>
<label>Judul</label> : <input type="text" name="judul"
value="<?php echo $detil['judul']?>"/><br/>
<label>Artikel</label> : <textarea name="isi" cols='20'
rows='10'><?php echo $detil['isi']?></textarea><br/>
<input type='submit' value='Post'/>
</form>
</body>
</html>
<?php
if(!empty($_POST)){
$id=$_POST['id'];
$date=date('d/F/Y');
$judul=$_POST['judul'];
$isi=$_POST['isi'];
$blog->update(array( '_id' => new MongoId($id)),array(
'$set' => array( 'judul' => $judul,'isi'=>$isi,'tanggal'=>$date)));
header('Location:
http://10.2.2.234/ngulik/blogmongodb/list_artikel.php');
}
?>
dalam proses editing data di mongodb, tetap kita membutuhkan primary key dari data tersebut, kita
menyisipkan variabel $id dalam method GET pada link edit artikel, method untuk melakukan proses
updating
data
menggunakan
method
'update(array(kondisi),array('$set'=>array('judul'=>'isi'=>$artikel)))'. ada beberapa tipe update
dalam mongodb '$set' untuk memperbaharui data atau menambahkan data baru pada data tersebut.
'$push' untuk menyisipkan data pada array mongodb., pada proses editing ini kita menggunakan
tipe $set karena bertujuan untuk mengupdat data
delete_artikel.php
<?php
include('config.php');
$criteria = array('_id'=> new MongoId($_GET['id']));
$blog->remove($criteria);
header('Location:
http://10.2.2.234/ngulik/blogmongodb/list_artikel.php');
?>
untuk melakukan proses penghapusan data sangat simpel menggunakan method 'remove($kondisi)'.
saya coba benchmark sendiri simple crud menggunakan database mongodb ini, ternyata memang
perfomance yang dihasilkan lebih cepat dibnding menggunakan rdbms sperti mysql atau yg lainnya.
Akan tetapi mungkin penerapan mongodb ini harus tepat sasaran, karena mongodb mungkin sulit
digunakan pada sistem yang membutuhkan integritas data tinggi.
Okeh sekian tutorial kali ini, maaf kalo belepotan :D,maklum masih dalam tahap riset, mengenai
database ini. :D
Tentang Penulis
titan
Hi, saya senang dengan dunia Komputer dan cita-cita saya menjadi
seniman di bidang ini, lebih jauh tentang saya kunjungi,
http://titanfirman.com atau http://ngulik.titanfirman.com