Anda di halaman 1dari 3

Fungsi EDIT pada CRUD

Fungsi terakhir yang akan kita bahas kali ini adalah melakukan update atau edit data, edit
data dilakukan karena adanya kesalahan saat menginput data sebelumnya, sebagai contoh jika
pengguna ingin merubah nama data ataupun gambar dari data tersebut, seperti fungsi CREATE,
EDIT data memanfaatkann element Form pada html untuk merevisi dan sebagai wadah untuk
mengirim ulang data tersebut.
Pada baris kode php pertama seperti biasa kita akan memanggil db.php, yang kemudian
dilanjutkan dengan memanggil data yang sudah diinputkan sebelumnya didalam database dan
tabel, pertama – tama kita akan membuat variabel “$data” yang akan memberikan perintah
“mysqli_query($conn, "SELECT * FROM tb_gambar WHERE id_gambar = '".$_GET['id']."'"
);” memilih data dari tabel “tb_gambar” dengan mengambil id yang sudah diinputkan
sebelumnya, kemudian “$panggil = mysqli_fetch_array($data); $nama =
$panggil['nama']; $file = $panggil['file'];” disini pengguna akan membuat variabel
$panggil dengan function “mysqli_fetch_array($data)” yang berfungsi untuk memanggil data
yang sebelumnya sudah diambil oleh variabel $data dengan perintah querynya lalu membuat
variabel $nama dilanjutkan dengan variabel $panggil untuk menampilkan data “nama” pada tabel
database, begitu pula dengan perintah selanjutnya.
Lalu pada bagian form ada beberapa hal yang dimodifikasi seperti bagian input “<input
type="text" name="nama" value="<?php echo $nama ?>">” kini memiliki value / nilai yang
diisi dengan “$nama”, ini berfungsi sebagai pengambilan nama secara otomatis ketika kita
mengambil data dari database maka nama akan terisi dengan otomatis dikarenakan data yang
diambil merupakan data yang sebelumnya sudah diinput didalam database, hal yang sama
diaplikasikan pada kode “ <input type="hidden" name="img" value="<?php echo $file
?>"> <td><img src="img/<?php echo $file ?>" width="400" height="400"> ” mungkin
baris kode “input type="hidden"” terdengar asing dikarenakan input type ini digunakan
memasukkan gambar atau mengupload ulang gambar dan tidak terlihat dibagian client dan ada
dibagian sistem.
Langkah berikutnya pengguna akan melakukan edit nama dan gambar pada bagian
database dan folder “/img” untuk melakukan hal tersebut pertama – tama kode baris “ if
($nama_file != ''){ ” dituliskan untuk mengecek apakah isi dari data tidak kosong, lalu kode
baris ini “ move_uploaded_file($sumber, $folder.$nama_file); ” sudah dijelaskan pada
pertemuan CREATE sebelumnya, selanjutnya “$update = mysqli_query($conn, "UPDATE
tb_gambar SET” variabel $update dibuat dengan function query didalamnya berisikan perintah
untuk untuk melakukan update di “tb_gambar” ada beberapa parameter yang akan dipudate seperti
nam dan gambar maka variabel $nama dan $nama_file akan dipanggil untuk diupdate seperti kode
baris ini “nama = '".$nama."', file = '".$nama_file."' WHERE id_gambar =
'".$_GET['id']."'” Variabel tersebut disesuaikan dengan parameter yang ada didatabasenya
(tb_gambar), lalu mengambil id_gambar sebagai sumber baris data yang akan diedit, lalu
melakukan cek apakah data yang diinputkan benar atau salah dengan memberikkan perulangan
didalamnya “ if($update){ header('location:data.php'); }else{ echo"gagal update";
} ” jika benar maka halaman edit akan ditinggalkan dan akan pergi ke halaman data.php dan jika
ada kodingan yang salah maka akan tetap berada pada halaman edit.php dan memberikan error
“gagal update”, koding selanjutnya hanya untuk melakukan edit nama jika pengguna hanya ingin
melakukan edit pada bagian nama bukan bagian nama dan file gambar.
<?php
include 'db.php';

$data = mysqli_query($conn, "SELECT * FROM tb_gambar


WHERE id_gambar = '".$_GET['id']."'" );
$panggil = mysqli_fetch_array($data);
$nama = $panggil['nama'];
$file = $panggil['file'];
?>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>EDIT</title>
<link rel="stylesheet">
</head>
<body>

<h1 style="text-align: center;">ISI DIBWAH: </h1>


<form action="" method="POST" enctype="multipart/form-data">
<table>
<tr>
<td> nama </td>
<td> : </td>
<td> <input type="text" name="nama" value="<?php echo $nama ?>">
</td>
</tr>
<tr>
<td> pilih file </td>
<td> : </td>
<td>
<input type="hidden" name="img" value="<?php echo $file ?>">
<input type="file" name="gambar"> </td>
</tr>
<tr>
<td></td>
<td></td>
<td><img src="img/<?php echo $file ?>" width="400" height="400">
</td>
</tr>
<tr>
<td> <input type="submit" name="kirim" value="update"> </td>
</tr>
<?php
if (isset($_POST['kirim'])){
$nama = $_POST ['nama'];
$nama_file = $_FILES ['gambar'] ['name'];
$sumber = $_FILES ['gambar'] ['tmp_name'];
$folder = './img/';

if ($nama_file != ''){
move_uploaded_file($sumber, $folder.$nama_file);
$update = mysqli_query($conn, "UPDATE tb_gambar SET
nama = '".$nama."',
file = '".$nama_file."'
WHERE id_gambar = '".$_GET['id']."'
");
if($update){
header('location:data.php');
}else{
echo"gagal update";
}

}else{
$update = mysqli_query($conn, "UPDATE tb_gambar SET
nama = '".$nama."'
WHERE id_gambar = '".$_GET['id']."'
");
if($update){
header('location:data.php');
}else{
echo"gagal update";
}
}

?>

</table>
</body>
</html>

Anda mungkin juga menyukai