Cara Membuat CRUD dengan PHP dan MySQL untuk Pemula (Update) – 1

Kita lanjutin bahasan kita soal cara membuat CRUD dengan PHP dan MySQL untuk pemula. Sudah sampai mana ya? Oh.. sudah sampai R alias Read. Ini postingannya: Membuat CRUD dengan PHP dan MySQL untuk Pemula (Read).

Pastikan Anda baca itu terlebih dahulu ya sebelum lanjut baca postingan ini. Jika sudah, silakan simak panduan AneIqbal berikut sampai akhir.

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?

aneiqbal_simple_crud_read_2
Tombol Hapus dan Edit

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.

aneiqbal_simple_crud_update_1
Link edit yang terlihat di pojok kiri bawah

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.

aneiqbal_simple_crud_update_2
Link edit dengan id unik

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.

aneiqbal_simple_crud_update_3
id unik pada link edit

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.

aneiqbal_simple_crud_update_4
muncul eror

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..

aneiqbal_simple_crud_update_5
id unik tidak terlihat

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 (operator ternary php). 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..

aneiqbal_simple_crud_update_5
id unik 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: Membuat CRUD dengan PHP dan MySQL untuk Pemula (Update) – 2.

Leave a Comment