Pemrograman Web ~ Edit dan Delete data
Assalamualaikun Wrohmatulahi Wabarokatu
Setelah artikel sebelumnya kita membahas tentang membuat database dan meng-input data sekarang kita akan membahas tentang Edit dan Delete data menggunakan querry. Langsung saja ke step pertama:
Edit data
Step 1 ~ Buka file views/v_index.php
tambahkan kolom Aksi pada tr pertama dan attribut a href pada tr kedua
<th>Aksi</th>
<td><a href="edit.php?nis=<?= $siswa['nis'] ?>">Edit</td>
Penjelasan :
attribut a href Digunakan untuk membuat link yang mengarah ke file edit.php dengan parameter GET nis. Parameter GET nis digunakan untuk mendapatkan data siswa berdasarkan nis yang nantinya form akan terisi data siswa tersebut.
Step 2 ~ Buat file edit.php
<?php
include 'lib/library.php';
$nis = $_GET ['nis'];
if (empty($nis)) header('location: index.php');
$sql = "SELECT * FROM siswa WHERE nis='$nis'";
$query = $mysqli->query($sql);
$siswa = $query->fetch_array();
if (empty($siswa)) header('location: index.php');
include 'views/v_tambah.php';
?>
penjelasan :
$nis = $_GET ['nis'];
Digunakan untuk mengambil value dari GET parameter dengan key nis
if (empty($nis)) header('location: index.php');
Digunakan untuk memeriksa apakah parameter nis ada pada url , jika tidak ada maka arahkan halaman kembali ke index.php
$sql = "SELECT * FROM siswa WHERE nis='$nis'";
$query = $mysqli->query($sql);
$siswa = $query->fetch_array();
Mengambil data dari tabel siswa berdasarkan nis sesuai dengan parameter get nya.
$querry->fetch_array() tanpa looping artunya hanya mengambil hasil querry baris pertama saja (1 data)
if (empty($siswa)) header('location: index.php');
Digunakan untuk memeriksa apakah data siswa dengan nis tersebut ada pada tabel siswa? jika tidak ada maka arahkan halaman kembali ke index.php (data tidak ditemukan)
Pada kondisi ini anda bisa saja menampilkan pesan error data tidak ditemukan , atau aksi lainnya sesuai dengan kebutuhan anda.
Step 3 ~ Buka file views/v_tambah.php
Ganti beberapa Codingan menjadi seperti berikut :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>TaufikRPL1</title>
</head>
<body>
<?php
$action = 'tambah.php';
if(!empty($siswa)) $action = 'edit.php';
?>
<form action="<?= $action ?>" method="post">
<table cellpadding="5">
<tr>
<td>NIS</td>
<td><input type="text" name="nis" value="
<?= @$siswa['nis']?>"></td>
</tr>
<tr>
<td>Nama Lengkap</td>
<td><input type="text" name="nama_lengkap"value="
<?= @$siswa['nama_lengkap']?>"></td>
</tr>
<tr>
<td>Jenis Kelamin
</td>
<td><input type="radio" name="jenis_kelamin" id="jenis_kelamin"
value="L" <?= @$siswa['jenis_kelamin'] == 'L' ? 'checked' : ''?>>Laki-Laki</td>
<td><input type="radio" name="jenis_kelamin" id="jenis_kelamin"
value="P" <?= @$siswa['jenis_kelamin'] == 'P' ? 'checked' : ''?>>Perempuan</td>
</tr>
<tr>
<td>Kelas
</td>
<td>
<select name="kelas" >
<option value="XI-RPL1" <?= @$siswa['kelas']
== 'XI-RPL1' ? 'selected' : ''?>>XI-RPL1</option>
<option value="XI-RPL2" <?= @$siswa['kelas']
== 'XI-RPL2' ? 'selected' : ''?>>XI-RPL2</option>
<option value="XI-RPL3" <?= @$siswa['kelas']
== 'XI-RPL3' ? 'selected' : ''?>>XI-RPL3</option>
</select>
</td>
</tr>
<tr>
<td>Jurusan</td>
<td><input type="text" name="jurusan" value="
<?= @$siswa['jurusan']?>"><br></td>
</tr>
<tr>
<td>Alamat</td>
<td><input type="text" name="alamat" value="
<?= @$siswa['alamat']?>"></td>
</tr>
<tr>
<td>Golongan Darah</td>
<td>
<select name="golongan_darah" >
<option value="A" <?= @$siswa['golongan_darah']
== 'A' ? 'selected' : ''?>>A</option>
<option value="AB" <?= @$siswa['golongan_darah']
== 'AB' ? 'selected' : ''?>>AB</option>
<option value="B" <?= @$siswa['golongan_darah']
== 'B' ? 'selected' : ''?>>B</option>
<option value="O" <?= @$siswa['golongan_darah']
== 'O' ? 'selected' : ''?>>O</option>
</select>
</td>
</tr>
<tr>
<td>Nama Ibu Kandung</td>
<td><input type="text" name="nama_ibu" value="
<?= @$siswa['nama_ibu']?>"></td>
</tr>
</table><br>
<input type="submit" value="Simpan">
</form>
</body>
</html>
Penjelasan:
<?php
$action = 'tambah.php';
if(!empty($siswa)) $action = 'edit.php';
?>
<form action="<?= $action ?>" method="post">
Kondisi tersebut disimpan dibaris paling awal file v_tambah.php dan action pada form diganti menggunakan variable
<input type="text" name="nis" value="<?= @$siswa['nis']?>">
Value="<?= @$siswa{'nis']?> digunakan untuk memberikan value pada input text tersebut. Value berasal dari data siswa. Symbol @ digunakan untuk menyembunyikan warning apabila variable undefined .
Berguna untuk mempersingkat baris program sehingga kita tidak perlu menambahkan baris program untuk memeriksa apakah variable terdefinisikan atau tidak menggunakan function empty.
<td><input type="radio" name="jenis_kelamin" id="jenis_kelamin" value="L"
<?= @$siswa['jenis_kelamin'] == 'L' ? 'checked' : ''?>>Laki-Laki</td>
<td><input type="radio" name="jenis_kelamin" id="jenis_kelamin" value="P"
<?= @$siswa['jenis_kelamin'] == 'P' ? 'checked' : ''?>>Perempuan</td>
Untuk memberikan value pada input radio digunakan perintah diatas menggunakan if-ternary
Step 4 ~ Buka dan edit file edit.php
tambahkan codingan berikut :
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$nis = $_POST['nis'];
$namalengkap = $_POST['nama_lengkap'];
$jeniskelamin = $_POST['jenis_kelamin'];
$kelas = $_POST['kelas'];
$jurusan = $_POST['jurusan'];
$alamat = $_POST['alamat'];
$golongandarah = $_POST['golongan_darah'];
$namaibu = $_POST['nama_ibu'];
$sql = " UPDATE siswa SET nis = '$nis',
nama_lengkap = '$namalengkap',
jenis_kelamin = '$jeniskelamin',
kelas = '$kelas',
jurusan = '$jurusan',
alamat = '$alamat',
golongan_darah = '$golongandarah',
nama_ibu = '$namaibu' WHERE nis='$nis'";
$mysqli -> query($sql) or die ($mysqli->error);
header('location: index.php');
}
Penjelasan:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
Digunakan untuk memeriksa apakah ada request dalam bentuk POST yang dikirim kehalaman ini?
$nis = $_POST['nis'];
$namalengkap = $_POST['nama_lengkap'];
$jeniskelamin = $_POST['jenis_kelamin'];
$kelas = $_POST['kelas'];
$jurusan = $_POST['jurusan'];
$alamat = $_POST['alamat'];
$golongandarah = $_POST['golongan_darah'];
$namaibu = $_POST['nama_ibu'];
Digunakan untuk memeriksa data dalam bentuk POST dari form
$sql = " UPDATE siswa SET nis = '$nis',
nama_lengkap = '$namalengkap',
jenis_kelamin = '$jeniskelamin',
kelas = '$kelas',
jurusan = '$jurusan',
alamat = '$alamat',
golongan_darah = '$golongandarah',
nama_ibu = '$namaibu' WHERE nis='$nis'";
$mysqli -> query($sql) or die ($mysqli->error);
header('location: index.php');
Digunakan untuk membuat SQL string untuk mengubah data pada tabel siswa .
Bentuk umum QUERY UPDATE
UPDATE nama_tabel SET FIELD1='Value1',Field2='Value2',...
WHEREkey = '$key'.
Step 5 ~ Finish
Setelah semua step dilakukan silahkan anda cek apakah sudah berhasil atau belum dengan membuka localhost:/pwpb18/index.php.
Delete data
Untuk Deleting data membuat querrynya sangat mudah kita tidak perlu membuat v_delete, karena tidak ada aksi, tidak menampilkan view apapun saat delete saja.
Bentuk UMUM Query Delete , seperti berikut :
DELETE FROM nama_tabel WHERE key='value'
Step 1 ~ buka views/v_index.php
tambahkan attribut a href disebelah attribut a href edit
|<a href="delete.php?nis=<?= $siswa['nis'] ?>"> Delete
Penjelasan :
attribut a tersebut digunakan untuk membuat link yang mengarah ke delete.php
Step 2 ~ buat file delete.php
<?php
include 'lib/library.php';
$nis = $_GET ['nis'];
$sql = "DELETE FROM siswa WHERE nis='$nis'";
$delete = $mysqli->query($sql);
header('location: index.php');
?>
Penjelasan:
$nis = $_GET ['nis'];
Digunakan untuk mengambil value dari GET parameter dengan key nis
$sql = "DELETE FROM siswa WHERE nis='$nis'";
$delete = $mysqli->query($sql);
header('location: index.php');
Menggunakan query delete dengan tabel siswa yang menggunakan key nis.
Comments
Post a Comment