14.3. CRUD sederhana dalam 1 File

Berikut ini adalah script beserta penjelasan singkat untuk membuat sebuah halaman tambah, edit, baca, dan hapus data dari database PhpMyAdmin dengan PHP.
Untuk mencoba script ini silahkan download source code-nya disini, extract dan taruh di folder htdocs pada XAMPP kemudian import database crud.sql dan setting konfigurasi databasenya pada bagian ini :


$host = "localhost"; -> Isi nama hostname, biasanya localhost
$user = "root";      -> Isi nama user db
$pass = "";          -> Isi password db, kosongkan jika tidak ada
$namadb = "crud";    -> Isi nama database

Sesuaikan dengan konfigurasi database yang telah Anda buat. Jika sudah silahkan tes hasilnya di http://localhost/crud/crud.php

<html>
<head>
<title>CRUD PHP | CREATE - READ - UPDATE - DELETE DATABASE</title>
</head>
<body>
<h2>CRUD PHP | CREATE - READ - UPDATE - DELETE DATABASE</h2>
<p><a href="crud.php">Home</a> | <a href="?page=insert">Tambah Data</a></p>

<?php
// Membuat koneksi dengan database
error_reporting(0);
$host = "localhost"; // nama db host
$user = "root"; // user db
$pass = ""; // password db, kosongkan jika tidak ada
$namadb = "crud"; // nama database
// fungsi untuk koneksi ke database
$koneksi = mysql_connect($host,$user,$pass);
// fungsi untuk memilih database
$database = mysql_select_db ($namadb);
// membuat validasi untuk koneksi
if(!$koneksi){
 echo "Tidak dapat terkoneksi";
}else{
 if (!$namadb){
  echo "Database tidak ditemukan";
 }
}
// Akhir koneksi
?>

<?php
// Baca database, kemudian data-nya dijadikan sebuah objek untuk ditampilkan dalam tabel
$sql = mysql_query("SELECT * FROM data ORDER BY nomor");
?>
<table border="1" cellpadding="0" cellspacing="0">
<tr bgcolor="#CCC">
<td align="center">Nomor</td>
<td align="center">Nama</td>
<td align="center">Email</td>
<td align="center">Alamat</td>
<td align="center">Kota</td>
<td align="center">Aksi</td>
</tr>
<?php
// disini kita mulai array data dengan menjadi objek untuk ditampilkan
while ($hsl = mysql_fetch_object($sql)){ ?>
<tr>
<td>&nbsp;<?=$hsl->nomor;?>&nbsp;</td>
<td>&nbsp;<?=$hsl->nama;?>&nbsp;</td>
<td>&nbsp;<?=$hsl->email;?>&nbsp;</td>
<td>&nbsp;<?=$hsl->alamat;?>&nbsp;</td>
<td>&nbsp;<?=$hsl->kota;?>&nbsp;</td>
<td>&nbsp;<a href="?edit=<?=$hsl->nomor;?>">Edit</a> | <a href="?hapus=<?=$hsl->nomor;?>">Hapus</a>&nbsp;</td>
</tr>
<?php
}
// Akhir dari baca database
?>
</table>

<?php
// Tambah data ke database, jika didapati get page
if ($_GET['page']){
?>
<h3>Tambah Data</h3>
<form action="" method="post">
<table>
<tr>
<td>Nomor</td>
<td>:</td>
<td><input type="text" size="1" name="nomor" /></td>
</tr>
<tr>
<td>Nama</td>
<td>:</td>
<td><input type="text" size="30" name="nama" /></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><input type="text" size="35" name="email" /></td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><input type="text" size="50" name="alamat" /></td>
</tr>
<tr>
<td>Kota</td>
<td>:</td>
<td><input type="text" size="20" name="kota" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="submit" name="tbsimpan" value="Simpan" /></td>
</tr>
</table>
</form>
<?php
// membuat semacam validasi sederhana untuk variable post
$nomor = $_POST['nomor'];
$nama = $_POST['nama'];
$email = $_POST['email'];
$alamat = $_POST['alamat'];
$kota = $_POST['kota'];
$tbsimpan = $_POST['tbsimpan'];
if ($tbsimpan){
 if (!empty($nomor)){
  if (!empty($nama)){
   if (!empty($email)){
    if (!empty($alamat)){
     if (!empty($kota)){
      mysql_query ("INSERT INTO data VALUES('$nomor','$nama','$email','$alamat','$kota')");
      header ("location:crud.php");
     }else{
      echo "Kota harus diisi";
     }
    }else{
     echo "Alamat harus diisi";
    }
   }else{
    echo "Email harus diisi";
   }
  }else{
   echo "Nama harus diisi";
  }
 }else{
  echo "Nomor Harus Diisi";
 }
}
}
// Akhir tambah data ke database
?>

<?php
// Edit data dari database jika didapati get edit
if ($_GET['edit']){
// membaca database berdasarkan get kemudian menampilkannya ke dalam form
$editsql = mysql_query ("SELECT * FROM data WHERE nomor = '".$_GET['edit']."'");
$selectedit = mysql_fetch_object($editsql);
?>
<h3>Edit Data</h3>
<form action="" method="post">
<table>
<tr>
<td>Nomor</td>
<td>:</td>
<td><input type="text" name="nomor" size="1" value="<?=$selectedit->nomor;?>" /></td>
</tr>
<tr>
<td>Nama</td>
<td>:</td>
<td><input type="text" name="nama" size="30" value="<?=$selectedit->nama;?>" /></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><input type="text" name="email" size="35" value="<?=$selectedit->email;?>" /></td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><input type="text" name="alamat" size="50" value="<?=$selectedit->alamat;?>" /></td>
</tr>
<tr>
<td>Kota</td>
<td>:</td>
<td><input type="text" name="kota" size="20" value="<?=$selectedit->kota;?>" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="submit" name="tbedit" value="Edit" /></td>
</tr>
</table>
</form>
<?php
// validasi sederhana
$nomor = $_POST['nomor'];
$nama = $_POST['nama'];
$email = $_POST['email'];
$alamat = $_POST['alamat'];
$kota = $_POST['kota'];
$tbedit = $_POST['tbedit'];
if ($tbedit){
 if (!empty($nomor)){
  if (!empty($nama)){
   if (!empty($email)){
    if (!empty($alamat)){
     if (!empty($kota)){
      mysql_query ("UPDATE data SET nomor='".$nomor."', nama = '".$nama."', email = '".$email."', alamat = '".$alamat."', kota = '".$kota."' WHERE nomor = '".$_GET['edit']."'");
      header ("location:crud.php");
     }else{
      echo "Kota harus diisi";
     }
    }else{
     echo "Alamat harus diisi";
    }
   }else{
    echo "Email harus diisi";
   }
  }else{
   echo "Nama harus diisi";
  }
 }else{
  echo "Nomor Harus Diisi";
 }
}
}
// Akhir edit data dari database
?>

<?php
// Hapus data database berdasarkan get hapus
if ($_GET['hapus']){
mysql_query("DELETE FROM data WHERE nomor = '".$_GET['hapus']."'");
header ("location:crud.php");
}
// Akhir hapus data database
?>

<br />
&copy; <?=date("Y");?> <a href="http://studiobagus.com" target="_blank">studiobagus.com</a>
</body>
</html>
14.3. CRUD sederhana dalam 1 File 14.3. CRUD sederhana dalam 1 File Reviewed by Bank Ifoel on November 21, 2010 Rating: 5

No comments:

Powered by Blogger.