Contoh CRUD di PHP

CRUD merupakan kependekan dari “Create, Read, Update, Delete” CRUD sangat umum dijumpai pada sebuah aplikasi berbasis web PHP yang dinamis,  dimana aplikasi memiliki kemampuan untuk membuat data, membaca/menampilkan, memperbaharui dan menghapus data yang tersimpan.

Baca juga : CRUD PHP Procedural Style (new) 

Saat Anda ingin belajar untuk membuat sistem / aplikasi web dinamis, maka CRUD ini merupakan hal mendasar yang harus Anda pahami. Pada intinya teknik CRUD di PHP ini akan sangat berkaitan erat juga dengan database MySQL, dimana saat seseorang ingin memasukan, menambah atau menghapus data tidak perlu membuka aplikasi database, namun cukup melakukannya dari aplikasi/halamn website.

Disini Saya akan memberikan sebuah contoh yang sederhana tentang CRUD di PHP. Supaya lebih mudah dalam memahaminya, maka Saya akan memberikan contoh/studi kasusnya, dimana disini misal Anda memiliki sebuah Aplikasi Penyimpanan Hutang dengan data – data berikut :

1. Id
2. Nama Hutang
3. Nominal

Dalam Aplikasi tersebut Anda dapat melakukan beberapa hal diantarnya :

A. Menambah hutang
B. Menampilkan hutang
C. Mengubah/update hutang
D. dan Menghapus data Hutang

Untuk dapat melakukan hal – hal diatas maka Anda bisa memulainya dengan mengikuti langkah – langkah berikut :



1. Buat Database
Buatlah database dengan nama “hutang” kemudian buatlah tabelnya dengan nama “hutangku”, lalu didalam tabel hutangku tersebut buatlah 3 data yaitu id(int) 11, namahutang(varchar) 50, dan nominal (int) 20

struktur tabel


Lihat juga :

Untuk idnya nanti jangan lupa untuk di set ke Auto_Increment

2. Membuat Koneksi Ke Database
Setelah database dibuat maka langkah selanjutnya adalah membuat koneksi ke database yang telah dibuat sebelumnya. Copy script dibawah ini dan beri nama koneksi.php


<?php
$host="localhost";
$user="root";
$pass="";
$db="hutang";
$koneksi=@mysql_connect($host,$user,$pass);
if(!$koneksi) {
  echo "Aduh sori te bisa asup=".mysql_error();
 exit();
  
}

$milihdb=@mysql_select_db($db,$koneksi);
if(!$milihdb) {
 exit("Teu bisa milih database :".mysql_error());
}

?>

lihat juga :Cara Membuat Koneksi ke Databse Mysql Menggunakan Script PHP


3. Membuat Form Untuk Menambah Hutang

Seperti yang tertulis dalam permintaan pada poin A, yaitu aplikasi harus mampu membuat atau menambah hutang, ini berati masuk dalam kategori  “CREATE” . 

Berarti untuk melakukan hal tersebut Anda membutuhkan 2 file yaitu, file yang pertama adalh form untuk menampung data dan file kedua adalah file untuk melakukan validasi dan menyimpan data ke database.

form untuk menambah data
Form untuk menambah data hutang


Berikut adalah file – file yang perlu Anda buat

  • tambah_hutang.php
    File pertama yang anda butuhkan adalah sebuah form untuk mengisi data – data hutang yang akan Anda tambahkan. Copy Script dibawah ini
    
    
    <html>
    <head>
    <title>Menampilkan Hutang</title>
    </head>
    <body>
    <form action="proses_hutang.php" method="post">
    <table width="600" border="1" align="center">
    <tr>
    <td colspan="5" align="center">Tambah Hutang</td>
    </tr>
    
    <tr>
    <td>NAMA HUTANG</td>
    <td>:</td>
    <td><input type="text" name="namahutang" id="namahutang"></td>
    </tr>
    <tr>
    <td>NOMINAL</td>
    <td>:</td>
    <td><input type="text" name="nominal" id="nominal"></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    <td><input type="reset" name="batal" value="Batal"> | <input name="simpan" type="submit" value="Simpan"></td>
    </tr>
    
    
    </table>
    </form>
    </body>
    </html>
    
    
    
    

  • proses_hutang.php
    Setelah data ditampung, maka data perlu dikirim ke database melalui file proses_hutang.php. Copy contoh script dibawah ini
    
    <?php
    include('koneksi.php');
    $nama=true;
    if($_POST['namahutang']==""){
    
    echo "Nama Hutang Belum Diisi";
    $nama=false;
    
    }
    $nom=true;
    if($_POST['nominal']==""){
    
     echo "nominal belum diisi";
     $nom=$false;
    }
    $cek=($nama&&$nom)?true:false;
    $arahkan="tampilhutang.php";
    if($cek==true){
    $perintah=sprintf("INSERT INTO hutangku VALUES ('null','%s','%d')",
     $_POST['namahutang'],
     $_POST['nominal']);
    $aksi=@mysql_query($perintah,$koneksi);
    if(!$aksi){
     echo "Koneksi GAGAL<br/>";
     echo "Kesalahan:".mysql_error();
     $arahkan="tampilhutang.php";
    }else{
     echo "Data sudah disimpan";
    }
    }else{
     $arahkan="tampilhutang.php";
    }
    
    echo "<meta http-equiv=\"refresh\"content=\"3;URL=$arahkan\"/>";
    ?>
    


4. Menampilkan Hutang
Bila data sudah tersimpan dalam database, maka langkah selanjutnya Adalah menampilkannya. Buatlah sebuah file dengan nama “tampilhutang.php”. Copy contoh scriptnya dibawah ini

menampilkan hutang
Menampilkan data




<html>
<head>
<title>Menampilkan Hutang</title>
</head>
<body>
<form action="proses_hutang.php" method="post">
<table width="600" border="1" align="center">
<tr>
<td colspan="5" align="center">Tambah Hutang</td>
</tr>

<tr>
<td>NAMA HUTANG</td>
<td>:</td>
<td><input type="text" name="namahutang" id="namahutang"></td>
</tr>
<tr>
<td>NOMINAL</td>
<td>:</td>
<td><input type="text" name="nominal" id="nominal"></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="reset" name="batal" value="Batal"> | <input name="simpan" type="submit" value="Simpan"></td>
</tr>


</table>
</form>
</body>
</html>


Lihat juga : Contoh Script PHP Untuk Menampilkan Data Dalam Database

5. Mengubah/Update Hutang
Pada poin 4 file untuk menampilkan hutang, ada aksi untuk delete dan edit data, nanti untuk bagian edit data akan diarahkan ke bagian/halaman web lain.

Pada poin C permintaanya adalah melakukan update/edit data yang sudah tersimpan dalam database melalui halaman website. Untuk melakukan hal tersebut berati Anda membutuhkan 2 file PHP, sama halnya seperti pada proses penambahan data.

form edit data
Ketika klik edit, maka akan diarahkan ke file edit_hutang.php dan dalam url akan terlihat id yang akan dirubah

  • edit_hutang.php
    File ini perlu dibuat untuk melakukan edit hutang, dimana sebelum di edit , data hutang akan ditampilkan terlebih dahulu dalam sebuah form, form ini juga nantinya akan berusaha mendapatkan id dari data yang bersangakutan/data yang akan diubah, setelah id berhasil didapatkan maka kemudian data hutang akan ditampilkan ke form. Silahkan copt script edit_hutang.php dibawah ini
    
    
    <?php
    include('koneksi.php');
    $idubah=$_GET['idubah'];
    $sql="select * from hutangku where id='$idubah'";
    $qry=@mysql_query($sql,$koneksi)
    or die("gagal menampilkan".mysql_error());
    $hsl_hutang=mysql_fetch_array($qry);
    $data_idhutang   =$hsl_hutang['id'];
    $data_namahutang =$hsl_hutang['namahutang'];
    $data_nominal    =$hsl_hutang['nominal'];
    ?>
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Ubah Data Hutang</title>
    </head>
    <body>
    <form action="update_hutang.php" method="post" name="form1" target="_self">
    <table width="600" border="0" align="center">
    <tr>
    <td colspan="5" align="center">Data Hutangku</td>
    </tr>
    
    
    <tr>
    <td>Nama Hutang</td>
    <td>:</td>
    <td><input name="TxtNamaHutang" type="text" value="<?php echo"$data_namahutang";?>">
    <input name="TxtId" type="hidden" value="<?php echo "$data_idhutang";?>"></td>
    </tr>
    <tr>
    <td>Nama Hutang</td>
    <td>:</td>
    <td><input name="TxtNominal" type="text" id="TxtNominal" value="<?php echo"$data_nominal";?>"></td>
    
    </tr>
    
    
    <tr>
    <td></td>
    <td></td>
    <td><input type="reset" name="batal" value="Batal"> | <input name="update" type="submit" value="Update"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    

  • update_hutang.php
    File edit_hutang.php hanya sebagai perantara untuk menampilkan data yang akan dirubah/dipudate.  Update data akan di proses oleh file update_hutang.php. Silahkan buat file update_hutang.php dengan mengcopy contoh script dibawah ini
    
    <?php
    include('koneksi.php');
    
    $TxtId =$_POST['TxtId'];
    $TxtNamaHutang =$_POST['TxtNamaHutang'];
    $TxtNominal =$_POST['TxtNominal'];
    if(empty($TxtId)){
    ?><script language="JavaScript">alert('Kode Id yang diubah kosong !');
    document.location=('edit_hutang.php')</script>
    <?php
    }
    else if(empty($TxtNamaHutang)){
    ?><script language="JavaScript">alert('Data Judul masih kosong !');
    document.location=('edit_hutang.php')</script>
    <?php
    }
    else if(empty($TxtNominal)){
    ?><script language="JavaScript">alert('Data Pengirim masih kosong !');
    document.location=('edit_hutang.php')</script>
    <?php
    }
    else{
     //Perintah Update Hutang
     $sql_ubah="UPDATE hutangku SET
        namahutang='$TxtNamaHutang',
        nominal='$TxtNominal'
            
       WHERE id='$TxtId'";
       
      mysql_query($sql_ubah,$koneksi)
          or die ("Perubahan data gagal".mysql_error());
      ?><script language="JavaScript">alert('Data Berhasil diubah !');
    document.location=('tampilhutang.php')</script>
    <?php
     
      exit;
    }
    ?>
    
    
6. Menghapus Data Hutang
Dalam file poin 4 yaitu file tampilhutang.php ada aksi yang akan diarahkan ke file delete.php. Tugasnya adalah untuk mengahpus hutang yang tersimpan, prosesnya sama seperti pada poin 5, yaitu mendapatkan id dari data yang bersangkutan terlebih dahulu, kemudian langsung melakukan delete. Silahkan copy script dibawah ini



<?php
extract($_REQUEST);
include('koneksi.php');

mysql_query("delete from hutangku where id='$del'");
header("Location:tampilhutang.php");

?> 


Semua hal – hal yang sudah Saya jelasakan diatas merupakan implementasi sederhana dari CRUD di PHP yang mudah – mudahan bisa Anda pahami dengan mudah


Contoh CRUD lainnya :

3 Responses to "Contoh CRUD di PHP "

  1. Aplikasi CRUD ini tentunya sebuah ilmu yang bagus untuk dipelajari, untuk menghitung soal hutang piutang dan sejenisnya ya kang...

    ReplyDelete
  2. Yang untuk tampilin data kya'a salah deh...

    ReplyDelete
    Replies
    1. iyah bener bro, lupa naruhh hahah, tapi biarlah, kan dah ada contoh yang di upload di google drive

      Delete

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin