– simple cms database
create database simplecms ;
use simplecms ;
create table article( id int(4) primary key auto_increment, category varchar(225), article_title varchar(225) );
insert into article values(”,’web design’, ‘Web Design Make Over with CSS’);
insert into article values(”,’graphic design’,'CorelDraw the handy tool’);
insert into article values(”,’flash animation’,'Make a splash water animation’);
Ya, langsung saja penulis berikan contoh kasusnya, script intinya, index.php, dan biasanya script seperti ini digunakan sebagai halaman admin. Tentunya admin disini dapat melakukan update dan delete record database.
<?php
$mysqli = new mysqli(”localhost”, “root”, “”, “simplecms”);
if (mysqli_connect_errno())
{
echo(”Nggak bisa konek : “.mysqli_connect_error());
exit();
}
$cat = $mysqli->prepare(”select id, category, article_title from article order by id”);
$cat->execute();
$cat->bind_result($id, $category, $article_title);
?>
<html>
<head>
<title>Database in OOP Way ; Seleksi Data dengan mySqli</title>
</head>
<body><table border=’0′ width=’40%’>
<caption><h3>SIMPLECMS CONTROL PANEL :</h3></caption>
<tr><th>No</th><th>Category</th><th>Title</th></tr>
<?php
while ($cat->fetch())
echo “<tr><td>”.$id.”</td><td>”.$category.”</td>”.”<td>”.$article_title.”</td><td><a href=?yang_ini_diedit=ya&id_nya=”
.$id.”>EDIT</a></td><td><a href=?yang_ini_didelete=ya&id_nya=”.$id.”>DELETE</a></td></tr>”;
?>
</table>
<hr width=’39%’ align=’left’/>
<?php
if ($_REQUEST[’yang_ini_didelete’] == ‘ya’)
{
echo “Wah… record “.$_REQUEST[’id_nya’].” bener-bener mau di hapus ya ?” ;
echo “<form action=’?delete_langsung_lah=ya’ method=’POST’>
<table><input type=’hidden’ name=’id’ value=”.$_REQUEST[’id_nya’].”>
<tr><td><input type=’submit’ value=’ya’ name=’submit’></td></tr></table>
</form>”;
}
else if ($_REQUEST[’delete_langsung_lah’] == ‘ya’)
{
$id_delete = $_POST[’id’];
$cat = $mysqli->prepare(”delete from article where id=?”);
$cat->bind_param(’i',$id);
$id = $id_delete;
$cat->execute();
echo “Database berhasil dihapus … Anda akan diredirect dalam 2 detik”;
echo “<meta http-equiv=’refresh’ content=’2;url=index.php’>”;
}
else if ($_REQUEST[’yang_ini_diedit’] == ‘ya’)
{
$cat = $mysqli->prepare(”select id, category, article_title from article where id=?”);
$cat->bind_param(’i',$id);
$id = $_REQUEST[’id_nya’];
$cat->execute();
$cat->bind_result($id, $category, $article_title);
echo “<caption>Yang mau diedit…</caption>”;
echo “<table><form action=’?update_langsung_lah=ya’ method=’POST’>”;
while ($cat->fetch()) {
echo “<tr><td>Category : </td><td><select name=’category’><option value=”.str_replace(” “,”_”,$category).”>”.$category.”</option></select></td></tr>”;
echo “<tr><td>Title : </td><td><textarea name=’title’ cols=’51′ rows=’7′>”;
echo $article_title ; }
echo “</textarea></td></tr>”;
echo “<input type=’hidden’ name=’id’ value=”.$_REQUEST[’id_nya’].”>”;
echo “<tr><td></td><td><input type=’submit’ name=’submit’ value=’update’></td></tr>”;
echo “</form></table>”;
}
else if ($_REQUEST[’update_langsung_lah’] == ‘ya’)
{
$category = str_replace(”_”,” “,$_POST[’category’]);
$title = $_POST[’title’];
$id = $_POST[’id’];
$cat = $mysqli->prepare(”update article SET category =’$category’, article_title = ‘$title’ where id=?”);
$cat->bind_param(’i',$id);
$cat->execute();
echo “Database berhasil diupdate … Anda akan diredirect dalam 2 detik”;
echo “<meta http-equiv=’refresh’ content=’2;url=index.php’>”;
}
?>
</body>
</html>
Tampilannya nanti akan seperti ini :

Potongan source code di bawah ini digunakan untuk menampilkan database dengan cara OOP. Seperti yang pernah penulis jelaskan dalam artikel pertama mengenai penggunaan OOP dalam PHP 5 untuk memanage database.
$mysqli = new mysqli(”localhost”, “root”, “”, “simplecms”);
if (mysqli_connect_errno())
{
echo(”Nggak bisa konek : “.mysqli_connect_error());
exit();
}
$cat = $mysqli->prepare(”select id, category, article_title from article order by id”);
$cat->execute();
$cat->bind_result($id, $category, $article_title);
Penjelasan detilnya dapat dilihat di artikel sebelumnya. Di sini penulis akan menjelaskan beberapa fungsi baru OOP dalam PHP 5. Lihat kembali fungsi tersebut pada baris ini :
…
$cat = $mysqli->prepare(”delete from article where id=?”);
$cat->bind_param(’i',$id);
$id = $id_delete;
$cat->execute();
echo “Database berhasil dihapus … Anda akan diredirect dalam 2 detik”;
echo “<meta http-equiv=’refresh’ content=’2;url=index.php’>”;
…
Di dalam barisan tersebut terdapat kalimat pembentuk query sql yang sedikit berbeda, yaitu :
$cat = $mysqli->prepare(”delete from article where id=?”);
Terdapat tanda ‘?’ sebagai perwakilan dari parameter syarat. Tanda tanya ini nantinya akan didefinisikan sebagai satu syarat dalam satu variable menggunakan fungsi bind_param(), sehingga jika sebuah query didefinisikannya seperti ini :
cat = $mysqli->prepare(”delete from article where id=?”);
maka, harus terdapat fungsi bind_param() sesudahnya, seperti :
$cat->bind_param(’i',$id);
Sehingga 2 baris kalimat tersebut sama halnya dengan query biasa, jika dalam query biasa maka hasilnya seperti ini :
$cat = “delete from article where id=’$id’”;
Setali 3 uang. :D. Ya ya ya … tapi coba perhatikan kembali fungsi bind_param pada kalimat tersebut :
$cat->bind_param(’i',$id);
Dalam parameter pertama fungsi bind_param di isi dengan ‘i’.
Kenapa dengan ‘i’ ?, i ini adalah perwakilan dari variable yang bertipe integer. Dalam query seperti ini delete from article where id=’$id’, mustahil jika mengisinya dengan string, kenapa ? lihat struktur tablenya. :D, hasilnya nanti akan 0 jika menggunakan string. Adapun type dari parameter tersebut antara lain yaitu :
i : ini untuk variable yang bertipe integer
s : ini untuk variable yang bertipe string
d : ini untuk variable yang bertipe double
b : ini untuk variable yang bertipe blob.
Ya kita lompat ke baris berikutnya :
$id = $id_delete;
Statement ini hanyalah sebuah assignment, memenuhi syarat sebelumnya.
Selanjutnya adalah menjalankan querynya, eksekusi langsung
, yakni :
$cat->execute();
Kembali muncul satu pertanyaan, bagaimana jika menggunakan update database dalam oop ? Silahkan lihat kembali baris di bawah ini :
$cat = $mysqli->prepare(”update article SET category =’$category’, article_title = ‘$title’ where id=?”);
$cat->bind_param(’i',$id);
$cat->execute();
Sepertinya sudah jelas ya. :).
Definisikan terlebih dahulu querynya :
$cat = $mysqli->prepare(”update article SET category =’$category’, article_title = ‘$title’ where id=?”);
Penuhi syarat query tersebut :
$cat->bind_param(’i',$id);
Jalankan querynya :
$cat->execute();
