Anda di halaman 1dari 7

MODUL V

MENGOLAH DATA DENGAN PHP DAN MYSQL (CRUD BAGIAN 2)

Mengolah Data Bagian 2


Bila pada bagian sebelumnya kita sudah membuat login, logout, serta dapat mendaftarkan
akun admin, maka pada bagian kali ini, kita ingin menampilkan data dibagian halaman awal
admin, adapun point yang akan dibahas pada bagian ini adalah:
 Menampilkan data (berupa data mahasiswa) – Read Data
 Menghapus data mahasiswa – Delete Data
 Mencari data mahasiswa berdasarkan suatu keyword tertentu - Searching

Langkah-langkah yang harus dilakukan


A. Membuat Tabel Mahasiswa
Untuk melanjutkan bagian sebelumnya, mari kita buat tabel pada database sebelumnya,
namakan tabel tersebut dengan nama mahasiwa
Setelah tabel terbentuk, maka isilah beberapa data kedalamnya.

B. Langkah pembuatan modul program


Setelah data ditambahkan, kita tambahkan source code berikut pada file functions.php
Ketikkan kode program seperti dibawah ini:
Lanjutan functions.php
function kueri($query) {
global $conn;
$result = mysqli_query($conn, $query);
$rows = [];
while ( $row = mysqli_fetch_assoc($result) ) {
$rows[] = $row;
}
return $rows;
}

Penjelasan kode program diatas:


1. Function kueri adalah nama fungsi yang nantinya akan
digunakan untuk mengeksekusi query untuk menampilkan sejumlah data.
2. $rows adalah variabel yang digunakan untuk menampung data
mahasiswa yang ada, variable ini berjenis array.
3. mysqli_fetch_assoc digunakan untuk mengambil data berupa
array asosiatif yang datanya ini dimasukan kedalam variable $row, lalu dikumpulkan
pada variable $rows, jadi $rows sekarang ini berisi banyak data mahasiswa.
Lalu setelahnya ubah index.php menjadi seperti dibawah ini.
Index.php
Ketikkan kode program seperti dibawah ini:
<?php
session_start();

if (!isset($_SESSION["login"])) {
header("Location: login.php");
exit;
}

require 'functions.php';

$students = kueri("SELECT * FROM mahasiswa");


?>

Penjelasan kode program diatas:


1. Penggunaan baris kode session pada
awal code ini dimaksudkan agar yang dapat mengakses index.php ini adalah yang
sudah melakukan login akun pada login.php, bila belum melakukan login, maka akan
diredirect ke halaman login.php.
2. Require ‘functions.php digunakan untuk
memanggil file function karena kita membutuhkan koneksi untuk memanggil data dari
database.
3. SELECT * FROM mahasiswa digunakan
untuk menampilkan semua data yang ada pada table mahasiswa.
Lanjutan index.php

<!DOCTYPE html>
<html>
<head>
<title>Halaman Admin</title>
</head>
<body>
<a href="logout.php">Logout</a>
<h1>Daftar Mahasiswa</h1>

<form action="" method="POST">


<input type="text" name="keyword" placeholder="Search" size="30" autofocus
autocomplete="off">
<button type="submit" name="cari">Cari!</button>
</form>
<br>
<a href="tambah.php">Tambah data mahasiswa</a>
<br><br>
<table border="1" cellpadding="10" cellspacing="0">
<tr>
<th>No.</th>
<th>Aksi</th>
<th>NPM</th>
<th>Nama</th>
<th>Email</th>
<th>Jurusan</th>
</tr>
<?php $i = 1; ?>
<?php foreach ($students as $student) : ?>
<tr>
<td><?= $i; ?></td>
<td>
<a href="ubah.php?id=<?= $student["id"]; ?>">Ubah</a> |
<a href="hapus.php?id=<?= $student["id"]; ?>" onclick="return
confirm('Hapus data ini?');">Hapus</a>
</td>
<td><?= $student["npm"]; ?></td>
<td><?= $student["nama"]; ?></td>
<td><?= $student["email"]; ?></td>
<td><?= $student["jurusan"]; ?></td>
</tr>
<?php $i++; ?>
<?php endforeach; ?>
</table>
</body>
</html>

Penjelasan kode program diatas:


1. Tag <form> digunakan untuk fungsi pencarian data mahasiswa yang lebih spesifik yang
akan dibahas pada bagian selanjutnya.
2. Pada bagian ini kita ingin menampilkan data mahasiswa kedalam sebuah tabel, maka
dari itu kita gunakan tag <table> lalu kita buat strukturnya.
3. Untuk menampilkan data yang sudah kita query kedalam variable $students maka kita
gunakan <?php foreach ($students as $student) : ?> untuk mengeluarkannya. Data
yang kita punya adalah berupa array assosiatif, maka dari itu cara mengeluarkan
datanya adalah dengan menggunakan code <?php echo $student["npm"]; ?> atau yang
bisa kita singkat dengan <?= $student["npm"]; ?>.

Maka hasilnya adalah seperti gambar berikut:

Setelah kita berhasil menampilkan data kedalam table, maka kali ini yang akan kita lakukan
adalah membuat fungsi untuk menghapus data tersebut. Mari tambahkan kode untuk
menghapus data dengan cara menambahkan kode berikut kedalam file functions.php
diakhir baris kode terakhir.
Tambahkan kode program seperti dibawah ini:
Lanjutan functions.php
function hapus($id) {
global $conn;
$query = "DELETE FROM mahasiswa WHERE id = $id";

mysqli_query($conn, $query);
return mysqli_affected_rows($conn);
}

Penjelasan kode program diatas:


1. Function hapus() adalah sebuah fungsi yang dideklarasikan untuk menyimpan baris
kode yang bertujuan untuk menghapus data.
2. DELETE FROM mahasiwa WHERE id = “$id”; adalah query untuk menghapus data
berdasarkan id tertentu.
Setelah fungsi hapus dibuat, maka sekarang buatlah file hapus.php dan ketikkan kode
berikut ini:
Hapus.php
<?php
session_start();

if (!isset($_SESSION["login"])) {
header("Location: login.php");
exit;
}

require 'functions.php';
$id = $_GET["id"];

if (hapus($id) > 0) {
echo " <script>
alert('Data berhasil dihapus!');
document.location.href = 'index.php';
</script>";
} else {
echo " <script>
alert('Data gagal dihapus!');
document.location.href = 'index.php';
</script>";
}
?>

Penjelasan kode program diatas:


1. Perhatikan pada $id = $_GET["id"]; pada bagian ini kita mengambil id dari data
mahasiswa dengan metode GET, yaitu mengambil parameter yang dikirim dari URL,
lalu memasukannya kedalam variable $id.
2. setelah itu kita jalankan fungsi hapus yang sudah kita buat dengan cara if (hapus($id) >
0), perhatikan pada “> 0”, bagian tersebut kita gunakan untuk memastikan bahwa ada
baris yang terpengaruhi, maka bila ada, fungsi hapus yang kita jalankan telah berhasil
dengan baik.
3. <script> merupakan tag pembuka untuk java script.
4. Alert digunakan untuk menampilkan pop-up ke layar.
5. Document.location digunakan untuk redirect ke halaman tertentu.

Searching Data
Setalah kita selesai menampilkan data dan dapat menghapusnya, yang terakhir dari bab ini
adalah kita akan melakukan fungsi searching untuk menampilkan data yang lebih spesisifik
sesuai dengan keyword yang kita masukan.

Tambahkan kode berikut pada file functions.php diakhir baris kode terakhir untuk membuat
fungsi baru.

Lanjutan functions.php
function cari($keyword) {
$query = "SELECT * FROM mahasiswa WHERE
npm LIKE '%$keyword%' OR
nama LIKE '%$keyword%' OR
email LIKE '%$keyword%' OR
jurusan LIKE '%$keyword%'";

return kueri($query);
}

Penjelasan kode program diatas:


1. Pada fungsi ini kita akan menerima parameter berupa variable $keyword yang sudah
berisikan data yang ingin kita cari
2. SELECT * FROM mahasiswa WHERE npm LIKE '%$keyword%', dengan query
tersebut, kita bisa mencari data mahasiswa berdasarkan npm-nya, maka bila kita ingin
dapat mencari mahasiswa berdasarkan identitas atau properti yang ia punya, maka kita
bisa menerapkan hal serupa kedalam query yang kita gunakan.
3. Return() digunakan untuk mengembalikan nilai hasil kapada fungsi tersebut.

Langkah selanjutnya adalah mengubah code bagian atas pada index.php menjadi seperti
berikut ini:

index.php
<?php
session_start();

if (!isset($_SESSION["login"])) {
header("Location: login.php");
exit;
}

require 'functions.php';
$students = kueri("SELECT * FROM mahasiswa");
if (isset($_POST["cari"])) {
$students = cari($_POST["keyword"]);
}
?>

Penjelasan kode program diatas:


1. Variabel $students berisi data mahasiswa dari pencarian spesifik yang dilakukan
dengan mengoper keyword kepada fungsi kueri.
2. Pada bagian if (isset($_POST["cari"])) akan mengaktifkan fungsi search bila kita
menekan tombol cari yang sudah kita buat sebelumnya, dan akan mengirimkan data
keyword yang kita ketikan pada input form pencarian dengan cara:
$students = cari($_POST["keyword"]);

Berikut adalah form pencarian yang sudah kita buat pada bagian sebelumnya:

index.php
<form action="" method="POST">
<input type="text" name="keyword" placeholder="Search" size="30" autofocus
autocomplete="off">
<button type="submit" name="cari">Cari!</button>
</form>

Perhatikan bahwa name dari button yang kita deklarasikan haruslah sama dengan code
yang kita buat sebelumnya, yaitu if (isset($_POST["cari"])), begitu juga dengan input
formnya, yaitu keyword, haruslah serupa dengan yang ada pada fungsi cari agar fungsi bisa
berjalan dengan baik.

Anda mungkin juga menyukai