Crud + class function+ MVC
Kali ini Kita Coba Trik Membuat Aplikasi CRUD dengan PHP OOP dan MYSQL.
Buatlah Folder sebagai berikut :
com_oto
- Site
---- Models
---- Views
--------Images
---- Controllers
Pada Folder Site buatlah sebuah file PHP com_oto.php
<?php
//memanggil aplikasi dengan localhost/host/com_oto.php ?aksi=tampil
error_reporting(0); // menghilangkan massage error akibat belum ditentukannya variable
include"controllers/class.oto.php";
$db=new database();
$db->konek();
//menampilkan data
if($_GET['aksi']== 'tampil'){
$daftar=$db->tampilData();
INCLUDE ('views/v_show.php');
echo"</table> <br> <a href='?aksi=tambah'>TAMBAH</a>";
//akhir tampil data
//------------------------------------------------------------------------ }elseif($_GET['aksi']=='tambah'){
INCLUDE ('views/v_ototambah.php');
}elseif($_GET['aksi']=='tambah_data'){
$db->post();
$nama=$_POST['nama'];
$telpkantor=$_POST['telpkantor'];
$ext=$_POST['ext'];
$hp=$_POST['hp'];
$email=$_POST['email'];
$pinbb=$_POST['pinbb'];
$db->tambahData($nama,$telpkantor,$ext,$hp,$email,$pinbb);
//akhir tambah data
//------------------------------------------------------------------------
}elseif($_GET['aksi']=='edit'){
$id=$_GET['id'];
INCLUDE ('views/v_editoto.php');
}elseif($_GET['aksi']=='update_data'){
$id=$_POST[iduser];
$nama=$_POST['nama'];
$telpkantor=$_POST['telpkantor'];
$ext=$_POST['ext'];
$hp=$_POST['hp'];
$email=$_POST['email'];
$pinbb=$_POST['pinbb'];
$db->updateData($id,$nama,$telpkantor,$ext,$hp,$email,$pinbb);
//akhir update data
//------------------------------------------------------------------------
}elseif($_GET['aksi']=='hapus_data'){
$id=$_GET['id'];
$db->hapusData($id);
}
//akhir hapus data //------------------------------------------------------------------------
?>
Pada Folder Views buatlah File v_editoto.php
<?php
echo"<br>
<form method=POST action='?aksi=update_data'>
<table>
<tr>
<td>Id</td>
<td>
<input type=text name='iduser' value='".$db->bacaData(iduser,$id)."'>
</td>
</tr>
<tr>
<td>Nama</td>
<td>
<input type=text name='nama' value='".$db->bacaData(nama,$id)."'>
</td>
</tr>
<tr>
<td>Telp Kantor</td>
<td>
<input type=text name='telpkantor' value='".$db->bacaData(telpkantor,$id)."'>
</td>
</tr>
<tr>
<td>EXT</td>
<td><input type=text name='ext' value='".$db->bacaData(ext,$id)."'>
</td>
</tr>
<tr>
<td>HP</td>
<td>
<input type=text name='hp' value='".$db->bacaData(hp,$id)."'>
</td>
</tr>
<tr>
<td>Email</td>
<td>
<input type=text name='email' value='".$db->bacaData(email,$id)."'>
</td>
</tr>
<tr>
<td>PIN BB</td>
<td>
<input type=text name='pinbb' value='".$db->bacaData(pinbb,$id)."'>
</td>
</tr>
<tr>
<td></td>
<td>
<input type=submit value='simpan'>
</td>
</tr>
</table>
<input type='hidden' name='id' value='".$db->bacaData(iduser,$id)."'>
</form>
";
?>
buatlah file lagi v_show.php
<?php
echo"<table border=1>
<tr><td>Id</td>
<td>Nama</td>
<td>Telp Rumah</td>
<td>Ext</td>
<td>HP</td>
<td>Email</td>
<td>PIN BB</td>
<td>Edit</td>
<td>Hapus</td></tr>";
foreach($daftar as $data){
echo"<tr>
<td>".$data['iduser']."</td>
<td>".$data['nama']."</td>
<td>".$data['telpkantor']."</td>
<td>".$data['ext']."</td>
<td>".$data['hp']."</td>
<td>".$data['email']."</td>
<td>".$data['pinbb']."</td>
<td><a href='?aksi=edit&id=$data[iduser]'>edit</a></td>
<td><a href='?aksi=hapus_data&id=$data[iduser]'>Hapus</a></td>
</tr>";
}
?>
selajutnya buatlah file v_ototambah.php :
<?php
echo"<br>
<form method=POST action='?aksi=tambah_data'>
<table>
<tr><td>Nama</td><td><input type=text name='nama'></td></tr>
<tr><td>Telp Kantor</td><td><input type=text name='telpkantor'></td></tr>
<tr><td>Ext</td><td><input type=text name='ext'></td></tr>
<tr><td>HP</td><td><input type=text name='hp'></td></tr>
<tr><td>Email</td><td><input type=text name='email'></td></tr>
<tr><td>PIN BB</td><td><input type=text name='pinbb'></td></tr>
<tr><td></td><td><input type=submit value='simpan'></td></tr>
</table>
</form>";
?>
Didalam Folder Controllers buatlah file class.oto.php ::
<?php
class database {
private $dbHost ="localhost";
private $dbUser ="root";
private $dbPass ="";
private $dbDatabase ="joomdle";
function konek(){
mysql_connect($this->dbHost,$this->dbUser,$this->dbPass);
mysql_select_db($this->dbDatabase);
}
function tambahData($nama,$telpkantor,$ext,$hp,$email,$pinbb){
$query="insert into inv_user
values('',
'$nama',
'$telpkantor',
'$ext',
'$hp',
'$email',
'$pinbb')";
$hasil=mysql_query($query);
if($hasil){
echo"<meta http-equiv='refresh' content='0; url=com_oto.php?aksi=tampil'>";
}
}
function tampilData(){
$sql=mysql_query("select * from inv_user");
while($rows=mysql_fetch_array($sql))
$data[]=$rows;
return $data;
}
function bacaData($field,$id){
$query=mysql_query("select * from inv_user where iduser='$id'");
$data=mysql_fetch_array($query);
if($field == 'iduser'){
return $data['iduser'];
}elseif($field == 'nama'){
return $data['nama'];
}elseif($field == 'telpkantor'){
return $data['telpkantor'];
}elseif($field == 'ext'){
return $data['ext'];
}elseif($field == 'hp'){
return $data['hp'];
}elseif($field == 'email'){
return $data['email'];
}elseif($field == 'pinbb'){
return $data['pinbb'];
}
}
function updateData($id,$nama,$telpkantor,$ext,$hp,$email,$pinbb){
$query=mysql_query("update inv_user set
iduser='$id',
nama='$nama',
telpkantor='$telpkantor',
ext='$ext',
hp='$hp',
email='$email',
pinbb='$pinbb'
where iduser='$id'");
echo"<meta http-equiv='refresh' content='0; url=com_oto.php?aksi=tampil''>";
}
function hapusData($id){
$query=mysql_query("delete from inv_user where iduser='$id'");
if($query){
echo"<meta http-equiv='refresh' content='0; url=com_oto.php?aksi=tampil'>";
}
}
}
?>
14.5 Crud + class function+ MVC
Reviewed by Bank Ifoel
on
November 26, 2007
Rating:
No comments: