Minggu, 19 April 2015

SCRUD (Search, Create, Read, Update, Delete)

Ditutorial ini saya akan membahas tentang SCRUD (Search, Create, Read, Update, Delete). Loh? Kok ada "S" nya? Yups... Kebanyakan orang-orang hanya menjelaskan tentang CRUD, tetapi disini saya jadikan satu materi karena gak jauh beda. Sebelum saya lanjutkan materi saya tentang SCRUD, pastikan anda telah mengikuti tutorial yang sebelumnya.

Oke, kita akan membuat project baru. Langkah yang harus dilakukan adalah sebagai berikut:

  1. Masih menggunakan database yang lama, cuma ditambahin tabel aja. Kasih nama tabel scrud. dan berikan value masing2 tabel seperti dibawah ini:
  2. 
    CREATE TABLE scrud (
    `nama` varchar(20) NOT NULL,
    `tgl_lahir` date NOT NULL,
    `alamat` varchar(50) NOT NULL
    );
    
  3. Buat folder di htdocs dengan nama SCRUD.
  4. Copy code dibawah ini dan beri nama index.php:

    <html>
    <title>SCRUD</title>
    <body>
    <div>
    <h1 align="center">Home</br>BELAJAR SCRUD</h1>
    </div>
    <div>
    <p align="center">Selamat Datang! Mari belajar SCRUD!<br/></br>
    <a href="input.php"><input type="button" value="Klik disini"></a></p>
    </div>
    </body>
    </html>
    
3. Copy code dibawah ini dan beri nama input.php:
<html>
<title>Belajar SCRUD</title>
<body>
<?php
if(isset($_POST['upload'])){
 include('config.php');
 $nama   = $_POST['nama'];
 $tgl_lahir = $_POST['tgl_lahir'];
 $alamat  = $_POST['alamat'];
 $query = "insert into scrud values('','$nama',DATE('$tgl_lahir'),'$alamat')";
 $in=mysql_query($query);
 if($in){
  echo '<div>SUCCESS: File berhasil di Upload!</div>';
 }else{
  echo '<div>GAGAL: File gagal di Upload!</div>';
 }
}
?>
<div align="center">
<h1>Belajar SCRUD</h1>
</div>
<div>
<form action="" method="POST">
<table border="0" cellpadding="2" cellspacing="0" align="center">
<tr>
<td>Nama</td>
<td>:</td>
<td><input type="text" name="nama" required /></td>
</tr>
<tr>
<td>Tanggal Lahir</td>
<td>:</td>
<td><input type="date" name="tgl_lahir" required /></td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><input type="text" name="alamat" required /></td>
</tr>
<tr align="right">
<td colspan="3">
<input type="submit" name="upload" value="Upload"/></td>
</tr>
</table>
</form>
</div>
<div align="center">
<table width="50%" border="1" cellpadding="4" cellspacing="0">
             <tr>
     <th colspan="6" align="right">
     <form method="GET" action="cari.php">
     <input type="text" name="cari">
     <input type="submit">
     </form></th>
    </tr>
    <tr>
                 <th width="5%">No</th>
                 <th width="25%">Nama</th>
                 <th width="25%">Tanggal lahir</th>
                 <th width="25%">Alamat</th>
                 <th width="20%" colspan="2">&nbsp </th>
                </tr>
    <?php
    include('config.php');
    $query="select * from scrud";
    $sql = mysql_query($query);
    if(mysql_num_rows($sql)){
     $no = 1;
     while($data = mysql_fetch_assoc($sql)){
      echo '<tr> 
       <td align="right">'.$no.'</td>
       <td>'.$data['nama'].'</td>
       <td align="center">'.$data['tgl_lahir'].'</td>
       <td align="center">'.$data['alamat'].'</td>
       <td align="right"><a href="delete.php?id='.$data['id'].'"><input type="button" value="hapus"></a></td>
       <td align="right"><a href="edit.php?id='.$data['id'].'"><input type="button" value="edit"></a></td>
      </tr>
      ';
      $no++;
     }
     mysql_free_result($sql);
    }
     else{
     echo '
     <tr bgcolor="#fff">
      <td align="center" colspan="6" align="center">Tidak ada data!</td>
     </tr>
     ';
    }
    ?>
4. Saya akan menjelaskan tentang coding tersebut. Coba perhatikan coding dibawah ini:

<?php
if(isset($_POST['upload'])){
 include('config.php');
 $nama   = $_POST['nama'];
 $tgl_lahir = $_POST['tgl_lahir'];
 $alamat  = $_POST['alamat'];
 $query = "insert into scrud values('','$nama',DATE('$tgl_lahir'),'$alamat')";
 $in=mysql_query($query);
 if($in){
  echo '<div>SUCCESS: File berhasil di Upload!</div>';
 }else{
  echo '<div>GAGAL: File gagal di Upload!</div>';
 }
}
?>
maksud dari code tersebut adalah, ketika kita menekan tombol upload, maka akan mengirimkan data post yang telah didefinisikan kedalam query sql. Dimana nanti apabila data telah sukses terkirim akan memunculkan pesan. Ow iya ada satu lagi, jangan lupa untuk membuat file config.php. Copykan code dibawah ini dan beri nama config.php:

<?php
//koneksi ke database
mysql_connect("localhost", "root", "");
 //untuk configurasi koneksi ke localhost dengan menggunakan user: root dan password kosong. apabila ada password bisa di isikan password yang anda buat
mysql_select_db("belajarphp");
?>
nah bagi yang belum mengerti coding diatas, bisa lihat tutorial sebelumnya. Oke sampai disini kita sudah membuat halaman untuk input data. Selanjutnya kita akan membuat halaman untuk hapus. Copykan kode dibawah ini dan beri nama delete.php :

<?php
include('config.php');

$id    = $_GET['id'];


$ok=mysql_query("delete from scrud where id='$id'");
if($ok){
echo "<script>alert('Data berhasil dihapus.');window.location.href='input.php';</script>";
}else{
echo "<script>alert('Data tidak bisa dihapus.');window.location.href='input.php';</script>";
}

?>
coba perhatikan $_GET['id'];, dia mendapatkan nilai dari id data tabel yang dipilih. Nah proses penghapusan datanya ada di mysql_query("delete from scrud where id='$id'");. Setelah data dihapus, akan memunculkan pesan bahwa data yang dipilih telah dihapus/gagal dihapus. Ok, sudah buat input dan hapus. Saatnya untuk membuat halaman untuk edit data. Silahkan copy code dibawah ini dan beri nama edit.php:

<html>
<title>Belajar SCRUD</title>
<body>
<?php
if(isset($_POST['upload'])){
 include('config.php');
 $id   = $_POST['id'];
 $nama   = $_POST['nama'];
 $tgl_lahir = $_POST['tgl_lahir'];
 $alamat  = $_POST['alamat'];
 $query = "UPDATE `scrud` SET `nama`='$nama',`tgl_lahir`='$tgl_lahir',`alamat`='$alamat' WHERE id='$id';";
 $in=mysql_query($query);
 if($in){
  echo "<script>alert('Data berhasil diupdate.');window.location.href='input.php';</script>";
 }else{
  echo "<script>alert('Data gagal diupdate.');window.location.href='input.php';</script>";
 }
}
?>
<div align="center">
<h1>Belajar SCRUD</h1>
</div>
<div>
<?php
include('config.php');
$query = mysql_query("select * from scrud where id='".$_GET['id']."'");
$data = mysql_fetch_array($query);
?>
<form action="" method="POST">
<table border="0" cellpadding="2" cellspacing="0" align="center">
<tr>
<td>Nama</td>
<td>:</td>
<td><input type="text" name="nama" value="<?=$data['nama']?>" /></td>
</tr>
<tr>
<td>Tanggal Lahir</td>
<td>:</td>
<td><input type="date" name="tgl_lahir" value="<?=$data['tgl_lahir']?>" /></td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><input type="text" name="alamat" value="<?=$data['alamat']?>" /></td>
</tr>
<tr align="right">
<td colspan="3">
<input type="hidden" name="id" value="<?=$data['id']?>">
<input type="submit" name="upload" value="Upload"/></td>
</tr>
</table>
</form>
</div>
Hampir sama dengan input.php, cuma bedanya hanya tidak ada tabel yang ditampilkan, dan nilai value dari masing2 inputan sudah terisi. Hmmm... input sudah.... hapus sudah.... edit sudah.... ow iya cari... Oke kita akan membuat halaman cari. Copy code dibawah ini dan beri nama cari.php:

<?php
$cari = $_GET['cari'];
?>
<html>
<head>
<center><h2> Cari data </h2>
<title>Cari Data</title>
</head>
<body><?php
if(isset($_POST['upload'])){
 include('config.php');
 $nama   = $_POST['nama'];
 $tgl_lahir = $_POST['tgl_lahir'];
 $alamat  = $_POST['alamat'];
 $query = "insert into scrud values('','$nama',DATE('$tgl_lahir'),'$alamat')";
 $in=mysql_query($query);
 if($in){
  echo '<div>SUCCESS: File berhasil di Upload!</div>';
 }else{
  echo '<div>GAGAL: File gagal di Upload!</div>';
 }
}
?>
<div align="center">
<h1>Belajar SCRUD</h1>
</div>
<div>
<form action="" method="POST">
<table border="0" cellpadding="2" cellspacing="0" align="center">
<tr>
<td>Nama</td>
<td>:</td>
<td><input type="text" name="nama" required /></td>
</tr>
<tr>
<td>Tanggal Lahir</td>
<td>:</td>
<td><input type="date" name="tgl_lahir" required /></td>
</tr>
<tr>
<td>Alamat</td>
<td>:</td>
<td><input type="text" name="alamat" required /></td>
</tr>
<tr align="right">
<td colspan="3">
<input type="submit" name="upload" value="Upload"/></td>
</tr>
</form>
<div align="center">
<table width="50%" border="1" cellpadding="4" cellspacing="0">
             <tr>
  <th colspan="6" align="right">
  <form method="GET" action="cari.php">
  <input type="text" name="cari">
  <input type="submit"></th>
  </tr>
  <tr>
                <th width="5%">No</th>
                <th width="25%">Nama</th>
                <th width="25%">Tanggal lahir</th>
                <th width="25%">Alamat</th>
                <th width="20%" colspan="2">&nbsp </th>
                </tr>
<?php
include('config.php');
$query="select * from scrud where nama like '$cari%'";
$sql = mysql_query($query);
if(mysql_num_rows($sql)){
$no = 1;
while($data = mysql_fetch_assoc($sql)){
echo '<tr> 
      <td align="right">'.$no.'</td>
      <td>'.$data['nama'].'</td>
      <td align="center">'.$data['tgl_lahir'].'</td>
      <td align="center">'.$data['alamat'].'</td>
      <td align="right">         <a href="delete.php?id='.$data['id'].'">
      <input type="button" value="hapus"></a>
      </td>
      <td align="right">
         <a href="edit.php?id='.$data['id'].'">
         <input type="button" value="edit">
         </a>
      </td>
      </tr>
';
$no++;
}mysql_free_result($sql);
}
else{
echo '
<tr bgcolor="#fff">
<td align="center" colspan="6" align="center">Tidak ada data!</td>
</tr>
';
}
?>
</table>
</body>
</html>
cari udah, input udah, hapus udah, edit udah... loh lihat datanya mana? nah tu.. gak dilihat dulu kan? coba dilihat di halaman input.php. udah ada belum data yang di inputkan?

Adakah eror? coba dijalankan demo yang udah saya buatkan.



atau bisa download file yang telah saya buat disini: