Tutorial PHP & MySql: Membuat Sistem CRUD Sederhana Data Mahasiswa Part III (Update) - 1 - AneIqbal - Blog Tutorial dan Informasi untuk Anda

Tutorial PHP & MySql: Membuat Sistem CRUD Sederhana Data Mahasiswa Part III (Update) - 1

tutorial crud php mysql sederhana aneiqbal

Halo gaes.

Jumpa lagi bersama ogut di blog tercinta ini.

Kita lanjutin bahasan kita soal CRUD data mahasiswa kemarin yuk. Sudah sampai mana ya kemarin? Oh.. sudah sampai R alias Read. Ini postingannya: Tutorial PHP & MySql: Membuat Sistem CRUD Sederhana Data Mahasiswa Part II (Read).

Pastikan Anda baca itu terlebih dahulu ya sebelum lanjut baca postingan ini.

So.. sekarang lanjut ke huruf U alias Update. Update di sini berarti ada perubahan data yang disimpan.



Tabel yang kita sudah buat sebelumnya, terdapat satu kolom berlabel "Action" yang isinya adalah tombol Edit dan tombol Hapus. Ingat?

tutorial crud php mysql sederhana aneiqbal
Tabel data dengan tombol Edit dan Hapus

Skemanya begini. Tombol Edit di atas sebenarnya adalah sebuah link yang mengarah ke halaman sebuah form edit data. Linknya kita sisipi id unik dari data yang akan kita ubah.

Id unik inilah yang kita gunakan sebagai "kunci" untuk mengambil seluruh data yang dimiliki oleh id unik tersebut. Data yang sudah diambil, akan ditampilkan pada form edit data tersebut.

Paham ya sampai sini.
Oke lanjut..

Kalau kita coba arahkan kursor mouse ke tombol Edit, maka kita akan melihat link di pojok kiri browser Anda (bila Anda pakai Google Chrome) seperti yang di lingkaran merah ini.

tutorial crud php mysql sederhana aneiqbal
Link tombol Edit di pojok kiri browser

Link di atas mengarah ke file edit.php dan belum ada sisipan id unik dari datanya. Untuk itu, kita harus sisipkan dahulu id uniknya.

Caranya adalah dengan menambahkan sedikit coding di file index.php. Masih ingat codingannya? Mari kita lihat lagi.

<!DOCTYPE html>
<html>
<head>
 <title>Sistem CRUD Sederhana Data Mahasiswa</title>
</head>
<body>
 <a href="input.html">Tambah Data</a>
 
 <table border="1">
  <tr>
   <td>No.</td>
   <td>NIM</td>
   <td>Nama</td>
   <td>Jenis Kelamin</td>
   <td>Tanggal Lahir</td>
   <td>Alamat</td>
   <td>Jurusan</td>
   <td>Action</td>
  </tr>

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

  $query = mysqli_query($connect, "SELECT * FROM mahasiswa");
  $no=1;
  while($data = mysqli_fetch_array($query)){
  ?>
  <tr>
   <td><?=$no++?></td>
   <td><?=$data['nim']?></td>
   <td><?=$data['nama']?></td>
   <td><?=$data['jenis_kelamin']?></td>
   <td><?=$data['tanggal_lahir']?></td>
   <td><?=$data['alamat']?></td>
   <td><?=$data['jurusan']?></td>
   <td><a href="edit.php">Edit</a> | <a href="hapus.php">Hapus</a></td>
  </tr>
  <?php
  }
  ?>
 </table>

</body>
</html>


Dan.. kita sisipkan id unik datanya dengan menambahkan ?id=<?=$data['id']?> tepat setelah edit.php. Seperti ini jadinya.

<!DOCTYPE html>
<html>
<head>
 <title>Sistem CRUD Sederhana Data Mahasiswa</title>
</head>
<body>
 <a href="input.html">Tambah Data</a>

 <table border="1">
  <tr>
   <td>No.</td>
   <td>NIM</td>
   <td>Nama</td>
   <td>Jenis Kelamin</td>
   <td>Tanggal Lahir</td>
   <td>Alamat</td>
   <td>Jurusan</td>
   <td>Action</td>
  </tr>

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

  $query = mysqli_query($connect, "SELECT * FROM mahasiswa");
  $no=1;
  while($data = mysqli_fetch_array($query)){
  ?>
  <tr>
   <td><?=$no++?></td>
   <td><?=$data['nim']?></td>
   <td><?=$data['nama']?></td>
   <td><?=$data['jenis_kelamin']?></td>
   <td><?=$data['tanggal_lahir']?></td>
   <td><?=$data['alamat']?></td>
   <td><?=$data['jurusan']?></td>
   <td><a href="edit.php?id=<?=$data['id']?>">Edit</a> | <a href="hapus.php">Hapus</a></td>
  </tr>
  <?php
  }
  ?>
 </table>

</body>
</html>


Dan.. kalau kita buka di browser, akan terlihat perubahan pada link tombolnya.
Look at this.

tutorial crud php mysql sederhana aneiqbal
Perubahan link tombol Edit di pojok kiri browser
See.. berubah kan? Link awalnya http://localhost/simple_crud/edit.php sekarang berubah menjadi http://localhost/simple_crud/edit.php?id=8. Ada buntutnya di belakang. Itu tandanya kita berhasil menyisipikan id unik datanya.

Begini penjelasan yang ditandai warna oranye. ? artinya kita akan menambahkan parameter tertentu. Jumlah parameternya pun terserah kita mau berapa. Tapi di case kita sekarang, cukup satu parameter.

id adalah nama parameternya yang nantinya akan ditangkap oleh variabel global $_GET dan ini bebas.. Anda nggak harus menamainya id juga. Boleh juga dinamai id_data dsb. Dan 8 adalah id unik datanya.

Belum pusing kan?
Lanjut..

Link editnya sudah berhasil kita buat. Sekarang saatnya kita buat file edit.php nya. File ini sebenarnya tidak jauh berbeda dengan file input.html yang sudah kita buat sebelumnya di tutorial ini.

Isinya form input. Bedanya adalah pada edit.php kita menampilkan data yang sebelumnya sudah diinput.

Bagaimana caranya?
Yuk kita ngoding PHP lagi..

<?php
$id = $_GET['id'];

//coba menampilkan data yang diambil dari $_GET
echo $id;
?>

Coding di atas untuk memastikan kita sukses mengambil id unik datanya dengan variabel global $_GET. id di dalam ini $_GET['id'] merupakan nama parameter yang sudah kita set tadi. Kalau Anda set nya berbeda, tinggal sesuaikan saja. Misal tadi nge-set jadi id_data, jadi begini dia $_GET['id_data'].

Pengambilan data tadi kita tampung isinya ke dalam variabel $id. Lalu kita tampilkan dengan echo. Dan begini hasilnya.

tutorial crud php mysql sederhana aneiqbal
Sukses menampilkan data yang diambil dengan variabel global $_GET



Pastikan data di lingkaran merah kiri bawah itu sama dengan yang ada di lingkaran merah kanan atas. Kalau sudah begitu, itu artinya kita sukses mengambil data dengan variabel global $_GET.

Hmm.. lalu bagaimana kalau kita iseng menghapus ?id=8 pada link di atas?
Apakah yang akan terjadi?

Eror.
Yap.. pesan eror akan muncul. Seperti ini.

tutorial crud php mysql sederhana aneiqbal
Pesan eror muncul

FYI.. menampilkan pesan eror saat proses development aplikasi web itu sangat berguna. Karena dari pesan eror itu kita bisa lebih mudah menemukan letak masalahnya untuk segera diperbaiki.

TAPI.. kalau sudah diimplementasi, tahap production, atau sudah dipakai end-user, pesan eror harus kita sembunyikan atau ganti dengan pesan yang lebih general atau umum. Karena bila nggak disembunyikan, itu akan membuat end-user tidak nyaman atau bahkan memicu rasa keisengan muncul.

So.. bagaimana cara menyembunyikannya?
Ada dua cara.

Pertama, kita tambahkan simbol at (@) pada variabel $id di baris paling atas pada coding di atas. Sehingga menjadi seperti ini @$id.

<?php
@$id = $_GET['id'];

//coba menampilkan data yang diambil dari $_GET
echo $id;
?>

Save lalu kita refresh..

tutorial crud php mysql sederhana aneiqbal
Pesan eror tidak muncul
Cara kedua adalah dengan menggunakan fungsi isset dan if ternary. isset digunakan untuk mengecek apakah sebuah variabel di set atau tidak. Bila iya di-set, maka akan menghasilkan nilai true.

isset ini kita kombinasikan dengan if ternary. Bentuk if ternary seperti ini: (cek kondisi) ? benar : salah; cek kondisi nya kita ganti dengan fungsi isset.

Logikanya begini. Bila hasilnya true maka jalankan $_GET['id'] untuk mengisi variabel $id. Bila false, isi variabel $id dengan data kosong.

Ini codingannya.

<?php
$id = (isset($_GET['id']))?$_GET['id']:'';

//coba menampilkan data yang diambil dari $_GET
echo $id;
?>

Dan kalau kita refresh..

tutorial crud php mysql sederhana aneiqbal
Pesan eror tidak muncul
Yeay.. sudah nggak muncul.

Postingan ini kita cukupkan sampai sini dulu ya karena sudah kepanjangan. Kita sambung di Part III (Update) - 2.

Lanjutannya di sini gaes.
Tutorial PHP & MySql: Membuat Sistem CRUD Sederhana Data Mahasiswa Part III (Update) - 2


Semua Tutorial PHP