Jumat, 28 Juli 2017

Tutorial CRUD sederhana dengan PHP

Tutorial CRUD sederhana dengan PHP – Assalamualaikum sahabat lupacode semuanya dimanapun sekarang kalian sedang berada. Alhamdulilah pada pagi hari ini saya masih dapat memposting kembali sebuah postingan kepada sahabat semuanya, pada materi sebelumnya saya telah membagikan sebuah source code Aplikasi Akuntansi dengan CodeIgniter yang dapat kalian semua miliki secara gratis dengan mengunjungi kembali postingan sebelumnya yang sudah saya bagikan kepada sahabat semuanya.

Cara Membuat CRUD sederhana dengan PHP MYSQL

Pada kesempatan kali ini saya tidak akan membagikan source code seperti biasanya, namun pada kesempatan kali ini saya akan memberikan sedikit Tutorial CRUD sederhana dengan PHP ( Create, Read, Update, dan Delete ). Dimana tutorial ini saya buat karena banyak sekali request permintaan dari sahabat lupacode semuanya yang ingin dibuatkan tutorial crud dengan php. Tutorial CRUD sederhana dengan PHP ini sangatlah dasar sekali, dimana ini merupakan basic untuk sahabat semua memahami crud didalam Bahasa pemrograman php, jadi kita tidak memerlukan keamanan didalam didalam session kali ini, karna ini sangatlah dasar sekali didalam php. Jadi nanti kita akan membuat Aplikasi sederhanya bagaimana cara Create/insert data ke database, Read/Select/Menampilkan data dari database, Update/edit data dari database, dan Delete/hapus data dari database dengan menggunakan bahasa pemrograman PHP dan database MySQL.
Baiklah sekarang kita mulai saja Tutorial CRUD sederhana dengan PHP silahkan sahabat semua langsung praktekan serta ikuti tutorial yang akan saya bahas dibawah ini. Baiklah sekarang kita mulai saja. File - file yang akan kita nantinya adalah sebagai berikut :
File yang dibutuhkan untuk melakukan CRUD sederhana dengan PHP
Step 1 Membuat Database

Tahap pertama yang kita lakukan adalah membuat database dahulu di phpMyAdmin, disini saya umpamakan sahabat semua sudah tau bagaimana cara membuat sebuah database di phpmyadmin. Silahkan buat dengan nama tutorialweb. Jika database sudah dibuat, sekarang Dumping script SQL di bawah ini:

CREATE TABLE `siswa` (
  `siswa_id` int(11) NOT NULL auto_increment,
  `siswa_nis` int(20) NOT NULL,
  `siswa_nama` varchar(50) NOT NULL,
  `siswa_kelas` varchar(10) NOT NULL,
  `siswa_jurusan` varchar(30) NOT NULL,
  PRIMARY KEY  (`siswa_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;

Dari script SQL di atas sahabat semua akan mendapatkan sebuah table dengan nama siswa dengan field siswa_id, siswa_nis, siswa_nama, siswa_kelas, siswa_jurusan.

Database dan Table sudah ada, biarkan saja datanya kosong.

Step 2 Koneksi ke Database

Tahap selanjutnya yang kita lakukan adalah melakukan koneksi ke database, file untuk koneksi ke database adalah koneksi.php.

Silahkan buat file baru dan beri nama koneksi.php kemudian isi dari file ini seperti di bawah ini:

<?php
$host = "localhost";
$user = "root";
$pass = "root";
$name = "tutorialweb";

$koneksi = mysql_connect($host, $user, $pass) or die("Koneksi ke database gagal!");
mysql_select_db($name, $koneksi) or die("Tidak ada database yang dipilih!");
?>


Silahkan simpan dan jangan lupa merubah detail koneksinya, misalkan passwordnya beda ya silahkan diganti dengan password sahabat semuanya.

Step 3 Menampilkan Data (READ/SELECT)

Tahap ketiga adalah menampilkan data dari database atau jika dalam singkatan CRUD maka kali ini adalah R -> Read.

Untuk menampilkan data, kita akan membuat file dengan nama index.php. Dan isi dari file index.php adalah script di bawah ini:

<!DOCTYPE html>
<html>
<head>
 <title>CRUD Sederhana by LUPACODE.NET</title>
</head>
<body>
 <h2>CRUD SEDERHANA</h2>
 
 <p><a href="index.php">Beranda</a> / <a href="tambah.php">Tambah Data</a></p>
 
 <h3>Data Siswa</h3>
 
 <table cellpadding="5" cellspacing="0" border="1">
  <tr bgcolor="#CCCCCC">
   <th>No.</th>
   <th>NIS</th>
   <th>Nama Lengkap</th>
   <th>Kelas</th>
   <th>Jurusan</th>
   <th>Opsi</th>
  </tr>
  
  <?php
  //iclude file koneksi ke database
  include('koneksi.php');
  
  //query ke database dg SELECT table siswa diurutkan berdasarkan NIS paling besar
  $query = mysql_query("SELECT * FROM siswa ORDER BY siswa_nis DESC") or die(mysql_error());
  
  //cek, apakakah hasil query di atas mendapatkan hasil atau tidak (data kosong atau tidak)
  if(mysql_num_rows($query) == 0){ //ini artinya jika data hasil query di atas kosong
   
   //jika data kosong, maka akan menampilkan row kosong
   echo '<tr><td colspan="6">Tidak ada data!</td></tr>';
   
  }else{ //else ini artinya jika data hasil query ada (data diu database tidak kosong)
   
   //jika data tidak kosong, maka akan melakukan perulangan while
   $no = 1; //membuat variabel $no untuk membuat nomor urut
   while($data = mysql_fetch_assoc($query)){ //perulangan while dg membuat variabel $data yang akan mengambil data di database
    
    //menampilkan row dengan data di database
    echo '<tr>';
     echo '<td>'.$no.'</td>'; //menampilkan nomor urut
     echo '<td>'.$data['siswa_nis'].'</td>'; //menampilkan data nis dari database
     echo '<td>'.$data['siswa_nama'].'</td>'; //menampilkan data nama lengkap dari database
     echo '<td>'.$data['siswa_kelas'].'</td>'; //menampilkan data kelas dari database
     echo '<td>'.$data['siswa_jurusan'].'</td>'; //menampilkan data jurusan dari database
     echo '<td><a href="edit.php?id='.$data['siswa_id'].'">Edit</a> / <a href="hapus.php?id='.$data['siswa_id'].'" onclick="return confirm(\'Yakin?\')">Hapus</a></td>'; //menampilkan link edit dan hapus dimana tiap link terdapat GET id -> ?id=siswa_id
    echo '</tr>';
    
    $no++; //menambah jumlah nomor urut setiap row
    
   }
   
  }
  ?>
 </table>
</body>
</html>
Jangan lupa untuk disimpan yah.

Untuk penjelasan Script sudah saya masukkan pada Script di atas, silahkan di baca sendiri kegunaan tiap-tiap baris kode.


Tampilan dari file index.php bisa terlihat seperti gambar di bawah ini:
Step 3 Menampilkan Data (READ/SELECT)
Seperti yang terlihat pada gambar di atas terdapat tulisan “Tidak ada data!” yang artinya memang data pada database masih kosong.

Step 4 Memasukkan Data (Create/Insert)

Tahap ke empat adalah meng-insertkan atau memasukan data ke dalam database dengan perintah INSERT INTO.

Pertama tertu saja kita buat Form utuk memasukkan datanya.

Form ini akan kita simpan dalam file tambah.php dengan script seperti di bawah ini:

<!DOCTYPE html>
<html>
<head>
 <title>CRUD Sederhana by LUPACODE.NET</title>
</head>
<body>
 <h2>CRUD SEDERHANA</h2>
 
 <p><a href="index.php">Beranda</a> / <a href="tambah.php">Tambah Data</a></p>
 
 <h3>Tambah Data Siswa</h3>
 
 <form action="tambah-proses.php" method="post">
  <table cellpadding="3" cellspacing="0">
   <tr>
    <td>NIS</td>
    <td>:</td>
    <td><input type="text" name="nis" required></td>
   </tr>
   <tr>
    <td>Nama Lengkap</td>
    <td>:</td>
    <td><input type="text" name="nama" size="30" required></td>
   </tr>
   <tr>
    <td>Kelas</td>
    <td>:</td>
    <td>
     <select name="kelas" required>
      <option value="">Pilih Kelas</option>
      <option value="X">X</option>
      <option value="XI">XI</option>
      <option value="XII">XII</option>
     </select>
    </td>
   </tr>
   <tr>
    <td>Jurusan</td>
    <td>:</td>
    <td>
     <select name="jurusan" required>
      <option value="">Pilih Jurusan</option>
      <option value="Teknik Komputer dan Jaringan">Teknik Komputer dan Jaringan</option>
      <option value="Multimedia">Multimedia</option>
      <option value="Akuntansi">Akuntansi</option>
      <option value="Perbankan">Perbankan</option>
      <option value="Pemasaran">Pemasaran</option>
     </select>
    </td>
   </tr>
   <tr>
    <td>&nbsp;</td>
    <td></td>
    <td><input type="submit" name="tambah" value="Tambah"></td>
   </tr>
  </table>
 </form>
</body>
</html>

Dari Form diatas tidak ada yang begitu special, hanya form tersebut action nya kepada tambah-proses.php.

Tampilannya seperti gambar di bawah ini:

Step 4 Memasukkan Data (Create/Insert)

Nah ketika form tersebut di isi, dan tombol Tambah di klik, maka akan menjalankan file tambah-proses.php.

Jadi selanjutnya kita buat file baru dengan nama tambah-proses.php dan isinya adalah script di bawah ini:

x<?php
//mulai proses tambah data
 
//cek dahulu, jika tombol tambah di klik
if(isset($_POST['tambah'])){
 
 //inlcude atau memasukkan file koneksi ke database
 include('koneksi.php');
 
 //jika tombol tambah benar di klik maka lanjut prosesnya
 $nis  = $_POST['nis']; //membuat variabel $nis dan datanya dari inputan NIS
 $nama  = $_POST['nama']; //membuat variabel $nama dan datanya dari inputan Nama Lengkap
 $kelas  = $_POST['kelas']; //membuat variabel $kelas dan datanya dari inputan dropdown Kelas
 $jurusan = $_POST['jurusan']; //membuat variabel $jurusan dan datanya dari inputan dropdown Jurusan
 
 //melakukan query dengan perintah INSERT INTO untuk memasukkan data ke database
 $input = mysql_query("INSERT INTO siswa VALUES(NULL, '$nis', '$nama', '$kelas', '$jurusan')") or die(mysql_error());
 
 //jika query input sukses
 if($input){
  
  echo 'Data berhasil di tambahkan! ';  //Pesan jika proses tambah sukses
  echo '<a href="tambah.php">Kembali</a>'; //membuat Link untuk kembali ke halaman tambah
  
 }else{
  
  echo 'Gagal menambahkan data! ';  //Pesan jika proses tambah gagal
  echo '<a href="tambah.php">Kembali</a>'; //membuat Link untuk kembali ke halaman tambah
  
 }
 
}else{ //jika tidak terdeteksi tombol tambah di klik
 
 //redirect atau dikembalikan ke halaman tambah
 echo '<script>window.history.back()</script>';
 
}
?>

Sudah beres untuk tambah data atau Insert data ke dalam database.

Penjelasan untuk kode diatas juga sudah saya masukkan pada file tersebut, silahkan sahabat semua pahami sendiri maksud dari script diatas, karna sudah ada penjelasan didalam setiap perintahnya.

Step 5 Update Data (Update/Edit)

Tahap ini adalah untuk melakukan edit data pada database. File yang akan kita buat adalah file dengan nama edit.php.

Link untuk menuju halaman edit adalah pada file index.php dimana disana pada tabel kolom Opsi ada Link edit dan hapus. Dimana untuk Link edit yang di klik sahabat akan mendapatkan Link seperti <a href=”edit.php?id=12″>Edit</a> dimana id ini adalah nilai dari siswa_id. Jika id tersebut adalah 12, maka akan menampilkan data siswa dimana siswa_id=12.

Oke, sekarang silahkan buat file dengan nama  edit.php dan pastekan script yang ada di bawah ini:

<!DOCTYPE html>
<html>
<head>
 <title>Simple CRUD by TUTORIALWEB.NET</title>
</head>
<body>
 <h2>Simple CRUD</h2>
 
 <p><a href="index.php">Beranda</a> / <a href="tambah.php">Tambah Data</a></p>
 
 <h3>Edit Data Siswa</h3>
 
 <?php
 //proses mengambil data ke database untuk ditampilkan di form edit berdasarkan siswa_id yg didapatkan dari GET id -> edit.php?id=siswa_id
 
 //include atau memasukkan file koneksi ke database
 include('koneksi.php');
 
 //membuat variabel $id yg nilainya adalah dari URL GET id -> edit.php?id=siswa_id
 $id = $_GET['id'];
 
 //melakukan query ke database dg SELECT table siswa dengan kondisi WHERE siswa_id = '$id'
 $show = mysql_query("SELECT * FROM siswa WHERE siswa_id='$id'");
 
 //cek apakah data dari hasil query ada atau tidak
 if(mysql_num_rows($show) == 0){
  
  //jika tidak ada data yg sesuai maka akan langsung di arahkan ke halaman depan atau beranda -> index.php
  echo '<script>window.history.back()</script>';
  
 }else{
 
  //jika data ditemukan, maka membuat variabel $data
  $data = mysql_fetch_assoc($show); //mengambil data ke database yang nantinya akan ditampilkan di form edit di bawah
 
 }
 ?>
 
 <form action="edit-proses.php" method="post">
  <input type="hidden" name="id" value="<?php echo $id; ?>"> <!-- membuat inputan hidden dan nilainya adalah siswa_id -->
  <table cellpadding="3" cellspacing="0">
   <tr>
    <td>NIS</td>
    <td>:</td>
    <td><input type="text" name="nis" value="<?php echo $data['siswa_nis']; ?>" required></td> <!-- value diambil dari hasil query -->
   </tr>
   <tr>
    <td>Nama Lengkap</td>
    <td>:</td>
    <td><input type="text" name="nama" size="30" value="<?php echo $data['siswa_nama']; ?>" required></td> <!-- value diambil dari hasil query -->
   </tr>
   <tr>
    <td>Kelas</td>
    <td>:</td>
    <td>
     <select name="kelas" required>
      <option value="">Pilih Kelas</option>
      <option value="X" <?php if($data['siswa_kelas'] == 'X'){ echo 'selected'; } ?>>X</option> <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
      <option value="XI" <?php if($data['siswa_kelas'] == 'XI'){ echo 'selected'; } ?>>XI</option> <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
      <option value="XII" <?php if($data['siswa_kelas'] == 'XII'){ echo 'selected'; } ?>>XII</option> <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
     </select>
    </td>
   </tr>
   <tr>
    <td>Jurusan</td>
    <td>:</td>
    <td>
     <select name="jurusan" required>
      <option value="">Pilih Jurusan</option>
      <option value="Teknik Komputer dan Jaringan" <?php if($data['siswa_jurusan'] == 'Teknik Komputer dan Jaringan'){ echo 'selected'; } ?>>Teknik Komputer dan Jaringan</option> <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
      <option value="Multimedia" <?php if($data['siswa_jurusan'] == 'Multimedia'){ echo 'selected'; } ?>>Multimedia</option> <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
      <option value="Akuntansi" <?php if($data['siswa_jurusan'] == 'Akuntansi'){ echo 'selected'; } ?>>Akuntansi</option> <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
      <option value="Perbankan" <?php if($data['siswa_jurusan'] == 'Perbankan'){ echo 'selected'; } ?>>Perbankan</option> <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
      <option value="Pemasaran" <?php if($data['siswa_jurusan'] == 'Pemasaran'){ echo 'selected'; } ?>>Pemasaran</option> <!-- jika data di database sama dengan value maka akan terselect/terpilih -->
     </select>
    </td>
   </tr>
   <tr>
    <td>&nbsp;</td>
    <td></td>
    <td><input type="submit" name="simpan" value="Simpan"></td>
   </tr>
  </table>
 </form>
</body>
</html>

Jika sudah silahkan simpan, dan hasil tampilan dari script di atas dapat sahabat lihat seperti yang ada pada gambar di bawah ini:
Step 5 Update Data (Update/Edit)
Nah, form edit diatas jika di klik tombol Simpan, maka akan menjalankan file edit-proses.php, dimana file ini adalah proses untuk melakukan update data ke dalam database.


Sekarang kita buat dulu file tersebut, dengan nama edit-proses.php dan silahkan pastekan kembali script yang ada di bawah ini:

x<?php
//mulai proses edit data
 
//cek dahulu, jika tombol simpan di klik
if(isset($_POST['simpan'])){
 
 //inlcude atau memasukkan file koneksi ke database
 include('koneksi.php');
 
 //jika tombol tambah benar di klik maka lanjut prosesnya
 $id   = $_POST['id']; //membuat variabel $id dan datanya dari inputan hidden id
 $nis  = $_POST['nis']; //membuat variabel $nis dan datanya dari inputan NIS
 $nama  = $_POST['nama']; //membuat variabel $nama dan datanya dari inputan Nama Lengkap
 $kelas  = $_POST['kelas']; //membuat variabel $kelas dan datanya dari inputan dropdown Kelas
 $jurusan = $_POST['jurusan']; //membuat variabel $jurusan dan datanya dari inputan dropdown Jurusan
 
 //melakukan query dengan perintah UPDATE untuk update data ke database dengan kondisi WHERE siswa_id='$id' <- diambil dari inputan hidden id
 $update = mysql_query("UPDATE siswa SET siswa_nis='$nis', siswa_nama='$nama', siswa_kelas='$kelas', siswa_jurusan='$jurusan' WHERE siswa_id='$id'") or die(mysql_error());
 
 //jika query update sukses
 if($update){
  
  echo 'Data berhasil di simpan! ';  //Pesan jika proses simpan sukses
  echo '<a href="edit.php?id='.$id.'">Kembali</a>'; //membuat Link untuk kembali ke halaman edit
  
 }else{
  
  echo 'Gagal menyimpan data! ';  //Pesan jika proses simpan gagal
  echo '<a href="edit.php?id='.$id.'">Kembali</a>'; //membuat Link untuk kembali ke halaman edit
  
 }
 
}else{ //jika tidak terdeteksi tombol simpan di klik
 
 //redirect atau dikembalikan ke halaman edit
 echo '<script>window.history.back()</script>';
 
}
?>

Silahkan simpan file tersebut, dan seperti biasa penjelasan pada setiap baris kode atau perintah diatas sudah saya masukkan di dalamnya. Jadi, silahkan sahabat semua agar memahami penjelasan dari script diatas.

Step 6 Hapus data (Delete/Hapus)

Tahap yang ke enam ini  merupakan tahap yang terakhir, yaitu melakukan perintah Delete untuk menghapus data dari database.

file yang akan kita buat adalah hapus.php, dan isi scriptnya seperti di bawah ini :

<?php
//memulai proses hapus data
 
//cek dahulu, apakah benar URL sudah ada GET id -> hapus.php?id=siswa_id
if(isset($_GET['id'])){
 
 //inlcude atau memasukkan file koneksi ke database
 include('koneksi.php');
 
 //membuat variabel $id yg bernilai dari URL GET id -> hapus.php?id=siswa_id
 $id = $_GET['id'];
 
 //cek ke database apakah ada data siswa dengan siswa_id='$id'
 $cek = mysql_query("SELECT siswa_id FROM siswa WHERE siswa_id='$id'") or die(mysql_error());
 
 //jika data siswa tidak ada
 if(mysql_num_rows($cek) == 0){
  
  //jika data tidak ada, maka redirect atau dikembalikan ke halaman beranda
  echo '<script>window.history.back()</script>';
 
 }else{
  
  //jika data ada di database, maka melakukan query DELETE table siswa dengan kondisi WHERE siswa_id='$id'
  $del = mysql_query("DELETE FROM siswa WHERE siswa_id='$id'");
  
  //jika query DELETE berhasil
  if($del){
   
   echo 'Data siswa berhasil di hapus! ';  //Pesan jika proses hapus berhasil
   echo '<a href="index.php">Kembali</a>'; //membuat Link untuk kembali ke halaman beranda
   
  }else{
   
   echo 'Gagal menghapus data! ';  //Pesan jika proses hapus gagal
   echo '<a href="index.php">Kembali</a>'; //membuat Link untuk kembali ke halaman beranda
  
  }
  
 }
 
}else{
 
 //redirect atau dikembalikan ke halaman beranda
 echo '<script>window.history.back()</script>';
 
}
?>

Jangan lupa untuk menyimpannya.

Sedikit penjelasan untuk script hapus di atas. Jika sahabat semua mengklik tombol/link hapus pada file index.php, sahabat akan mendapatkan Link seperti ini www.hostingAnda.com/hapus.php?id=12, ini artinya Script akan mendeteksi dari URL tersebut berapa id nya, misalkan disana id=12, maka script akan menghapus data siswa dimana siswa_id=12.
Lihat juga source code paling banyak didownload :
  1. Sistem Informasi Akademik Berbasis Web
  2. Aplikasi Akuntansi dengan CodeIgniter
  3. Aplikasi SPK Metode Profile Matching
  4. E-Commerce Rainkids dengan codeigniter
  5. Sistem Informasi Alumni Berbasis Web
Baiklah mungkin itu saja pembahasan atau materi yang dapat saya sampaikan pada kesempatan kali ini yaitu mengenai Tutorial CRUD sederhana dengan PHP semoga ini dapat bermanfaat bagi sahabat lupacode semuanya, khususnya bagi sahabat lupacode yang baru saja mempelajari Bahasa Pemrograman php ini. Silahkan share artikel atau postingan ini, jika sahabat semua merasa artikel ini bermanfaat juga bagi sahabat kita yang lainnya. Sampai berjumpa kembali pada postingan materi dari lupacode yang selanjutnya, jangan lupa untuk selalu berkunjung ke lupacode.net untuk mendapatkan materi atau tutorial terbaru setiap harinya.
Saya admin dari blog lupacode mohon pamit undur diri, terimakasih telah berkunjung. Wassalamualaikum, wr, wb.

Silahkan berkomentar yang baik dan menarik sesuai dengan isi konten.
Komentar yang tidak diperbolehkan :

1. Berbau penghinaan SARA & PXXN
2. Komentar dengan Link hidup ( akan dianggap spam )
3. Komentar tidak nyambung dengan isi postingan
EmoticonEmoticon