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

Post Top Ad

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

Share This
tutorial crud php mysql sederhana

Halo gaes. Sepertinya sudah cukup terlalu lama juga ya nggak update. Gimana kabar? Semoga Anda sehat dan bahagia selalu ya.

So.. mari kita lanjut. Sampai mana ya kita?

Ohiya.. postingan ini masih membahas bagian U alias Update dari sistem CRUD (Create Read Update Delete). Karena postingan sebelumnya rupanya sudah terlalu panjang. Jadi, supaya tetap enak dibaca dan nggak bikin pusing, akhirnya dipecah.

Part III bagian 2. Gitu mungkin ya bacanya. Atau.. bagian keduanya bagian ketiga. Bisa juga. Atau bebas deh.. hihi.

Lanjut..



Kita flashback postingan sebelumnya. Kemarin kita sudah bahas sampai sukses menampilkan data yang berasal dari variabel global $_GET. Juga dengan security-nya bila ada yang iseng.

By the way, Anda yang baru bergabung ke sini, Anda bisa membaca tutorial sebelumnya di: Tutorial PHP & MySql: Membuat Sistem CRUD Sederhana Data Mahasiswa Part III (Update) - 1.

Sekarang yang kita bahas adalah cara mendapatkan dan menampilkan seluruh data yang ada dengan id unik datanya.

tutorial crud php mysql sederhana
Sebuah baris data yang terdiri dari id unik data & data yang 'dimiliki'nya
Anda bisa lihat gambar di atas. Ada dua lingkaran; merah dan hijau. Kita akan menampilkan data-data yang ada pada lingkaran hijau. Hmm.. bukan hijau, tapi warna tosca.

Okay. Are you ready?

Langsung buka text editor favorit kalian gaes. Dan buka file edit.php yang sudah dibuat sebelumnya.

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

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

Yap. Seperti di atas rupa codingan edit.php terakhir. Masih sama kan? Di sini akan kita tambah codingannya berupa pemanggilan file koneksi database dan query untuk mengambil datanya.

Pertama, kita panggil file koneksi databasenya. Sudah pasti kita butuh itu kalau ingin melakukan query atau pengambilan data dari database. Kita tambahkan include('koneksi.php'); di paling atas pada coding di atas.

Kalau Anda bingung darimana asal file koneksi.php, Anda sebaiknya lihat postingan ini dulu: Tutorial PHP & MySql: Cara Membuat Koneksi ke Database MySql. Jika sudah, silakan lanjut baca ke bawah.

Sekarang, begini rupa dari file edit.php.

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

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

Dan kalau kita jalankan file tersebut, tidak ada perubahan tampilan apa-apa. Tenang.. don't worry. The next is.. kita tambahkan coding query select-nya.

Di postingan Tutorial PHP & MySql: Membuat Sistem CRUD Sederhana Data Mahasiswa Part II (Read), kita sudah singgung sedikit soal query select. Bentuk querynya hampir sama namun ditambah sedikit.

Kalau di postingan tersebut, kita buat querynya begini: select * from mahasiswa. Ini untuk menampilkan seluruh data yang ada pada table mahasiswa.

Nah kalau case kita saat ini adalah mendapatkan data berdasarkan id unik datanya. Jadi, kita perlu tambah parameter atau kondisi pada querynya. Caranya adalah dengan menambahkan where. Look at this.

select * from mahasiswa where id = '$id'

Karena parameter yang kita gunakan adalah id unik data, maka kita harus arahkan kondisinya ke kolom/field yang memuat id unik data. Sehingga ditulislah id pada query di atas.

Kalau querynya dibahasakan, begini bunyinya: pilih data di semua kolom/field yang ada di table mahasiswa, yang kolom/field id nya memiliki nilai $id.

So.. begini posisi terakhir file edit.php.

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

$query = mysqli_query($connect, "select * from mahasiswa where id='$id'");

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

Kita tampung hasil querynya ke variabel $query. Dan kalau kita coba var_dump (ini postingan ogut soal var_dump) variabel tersebut, hasilnya seperti ini.

tutorial crud php mysql sederhana
Hasil coba var_dump variabel $query
Perhatikan ["num_rows"]=> int(1) pada hasil var_dump di atas. num_rows merupakan jumlah baris yang dihasilkan dari query yang dieksekusi. Sedangkan => int(1) adalah jumlahnya dan bertipe integer.

Jadi, kita dapat simpulkan bahwa query di atas berhasil menangkap satu baris data berdasarkan kondisi yang kita berikan pada query tadi.

Ini codingan var_dump-nya kalau Anda mau coba jalankan juga.

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

$query = mysqli_query($connect, "select * from mahasiswa where id='$id'");
var_dump($query);

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

Belum pusing kan? Mantap..
Terus lanjut ya..

Selanjutnya yang harus kita lakukan adalah mengambil data dan menyimpannya dalam bentuk array dari hasil query yang tersimpan dalam variabel $query tadi. Seperti ini bentuknya: mysqli_fetch_array($query).

Hasil eksekusi mysqli_fetch_array($query) ini kita tampung ke variabel baru bernama $data. So.. begini posisi terakhir file edit.php-nya.

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

$query = mysqli_query($connect, "select * from mahasiswa where id='$id'");
$data = mysqli_fetch_array($query);

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

Kalau kita jalankan, masih belum ada perubahan tampilan. Karena memang belum kita tampilkan datanya.

tutorial crud php mysql sederhana
Belum ada perubahan tampilan

Kalau kita coba var_dump (ini postingan ogut soal var_dump) variabel $data, maka kita baru akan melihat perubahan. Kolom/field beserta isinya yang berbentuk array akan tampil di web browser Anda.

tutorial crud php mysql sederhana
Hasil coba var_dump variabel $data
See? Semua data dimunculkan berdasarkan id unik datanya. Selanjutnya, tinggal kita tampilkan data tersebut ke form edit yang bentuknya itu sama dengan form input.

tutorial crud php mysql sederhana
Tampilan form input

Biar lebih cepat, Anda bisa langsung copy isi file input.html ke file edit.php. Tapi.. best practice-nya sih jangan dicopy. Anda ketik ulang. Biar makin terbiasa ngoding.

So.. ini posisi edit.php saat ini.

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

$query = mysqli_query($connect, "select * from mahasiswa where id='$id'");
$data = mysqli_fetch_array($query);

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

<!DOCTYPE html>
<html>
<head>
 <title>Form Input Data</title>
</head>
<body>
 <form action="prosesSimpan.php" method="post">
  NIM:
  <input type="text" name="nim"><br>
  Nama:
  <input type="text" name="nama"><br>
  Jenis Kelamin:
  <select name="jenis_kelamin">
   <option value="">Pilih</option>
   <option value="P">Pria</option>
   <option value="W">Wanita</option>
  </select><br>
  Tanggal Lahir:
  <input type="text" name="tanggal_lahir"><br>
  Alamat:
  <textarea name="alamat"></textarea><br>
  Jurusan:
  <input type="text" name="jurusan"><br>
  <input type="submit" value="Simpan"> <input type="reset" value="Reset">
 </form>
</body>
</html>

Ada yang mesti kita ubah gaes. Pertama, kita hapus baris 8 dan 9. Karena kita sudah nggak butuh itu. Lalu ubah "Form Input Data" menjadi "Form Edit Data" di line 15.

Next.. pada bagian atribut action, di line 18, kita ubah filenya. File proses untuk mengupdate data kita beri nama prosesUpdate.php. Jadi, ganti dengan nama tersebut.

So, begini sekarang.

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

$query = mysqli_query($connect, "select * from mahasiswa where id='$id'");
$data = mysqli_fetch_array($query);

?>

<!DOCTYPE html>
<html>
<head>
 <title>Form Edit Data</title>
</head>
<body>
 <form action="prosesUpdate.php" method="post">
  NIM:
  <input type="text" name="nim"><br>
  Nama:
  <input type="text" name="nama"><br>
  Jenis Kelamin:
  <select name="jenis_kelamin">
   <option value="">Pilih</option>
   <option value="P">Pria</option>
   <option value="W">Wanita</option>
  </select><br>
  Tanggal Lahir:
  <input type="text" name="tanggal_lahir"><br>
  Alamat:
  <textarea name="alamat"></textarea><br>
  Jurusan:
  <input type="text" name="jurusan"><br>
  <input type="submit" value="Simpan"> <input type="reset" value="Reset">
 </form>
</body>
</html>

Selanjutnya, kita buat variabel-variabel untuk menampung datanya gaes. Variabel-variabel tersebut yang bakal dipake untuk mengisi value dari inputan form. Ini variabel-variabelnya yang ditambah ke edit.php.

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

$query = mysqli_query($connect, "select * from mahasiswa where id='$id'");
$data = mysqli_fetch_array($query);

$id = $data['id'];
$nim = $data['nim'];
$nama = $data['nama'];
$jenis_kelamin = $data['jenis_kelamin'];
$tanggal_lahir = $data['tanggal_lahir'];
$alamat = $data['alamat'];
$jurusan = $data['jurusan'];

?>

Ada variabel $id, $nim, $jenis_kelamin, $tanggal_lahir, $alamat, dan $jurusan. Setelah variabel dibuat, kita masukkan ke dalam inputan-nya dengan atribut value. Ohiya, atribut value hanya untuk elemen input. Untuk textarea dan select, beda lagi caranya.

Perhatikan posisi terakhir codingan edit.php berikut.

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

$query = mysqli_query($connect, "select * from mahasiswa where id='$id'");
$data = mysqli_fetch_array($query);

$id = $data['id'];
$nim = $data['nim'];
$nama = $data['nama'];
$jenis_kelamin = $data['jenis_kelamin'];
$tanggal_lahir = $data['tanggal_lahir'];
$alamat = $data['alamat'];
$jurusan = $data['jurusan'];

?>

<!DOCTYPE html>
<html>
<head>
 <title>Form Edit Data</title>
</head>
<body>
 <form action="prosesUpdate.php" method="post">
  NIM:
  <input type="text" name="nim" value="<?php echo $nim?>"><br>
  Nama:
  <input type="text" name="nama" value="<?php echo $nama?>"><br>
  Jenis Kelamin:
  <select name="jenis_kelamin">
   <option value="">Pilih</option>
   <option value="P" <?php echo $jenis_kelamin == 'P' ? 'selected="selected"' : '' ?>>Pria</option>
   <option value="W" <?php echo $jenis_kelamin == 'W' ? 'selected="selected"' : '' ?>>Wanita</option>
  </select><br>
  Tanggal Lahir:
  <input type="text" name="tanggal_lahir" value="<?php echo $tanggal_lahir?>"><br>
  Alamat:
  <textarea name="alamat"><?php echo $alamat?></textarea><br>
  Jurusan:
  <input type="text" name="jurusan" value="<?php echo $jurusan?>">
  <input type="hidden" name="id" value="<?php echo $id ?>">
  <br>
  <input type="submit" value="Simpan"> <input type="reset" value="Reset">
 </form>
</body>
</html>

Pada select, kita manfaatkan operator ternary (postingan ogut soal operator ternary) supaya otomatis terpilih sesuai dengan pilihan yang sudah tersimpan di database. Kalo textarea, tinggal echo (baca postingan ogut soal echo) saja di antara tag pembuka dan tag penutupnya (baca postingan ogut soal tag pembuka & penutup).

Jangan lupa tambahkan coding seperti di baris ke 46. Kenapa hidden? karena informasi tersebut nggak perlu diedit & ditampilkan, namun tetap harus dikirim ke proses update sebagai id unik data.

Id unik data ini sebagai kunci proses keberhasilan update data yang diedit. Bila nggak ada ini, fatal akibatnya. Semua data yang ada di table akan terupdate!

Lalu kita preview di browser.

tutorial crud php mysql sederhana

Data-data berhasil kita munculkan di tiap inputannya. So, kita stop dulu sampe sini karena sudah kepanjangan. Next.. kita akan coding untuk proses updatenya. Codingnya akan ada di file prosesUpdate.php.

Next episode here: Tutorial PHP & MySql: Membuat Sistem CRUD Sederhana Data Mahasiswa Part III (Update) - 3

Semua Tutorial PHP

Tidak ada komentar:

Posting Komentar

Silakan berkomentar dengan kalimat yang bijak.

Post Bottom Ad