Belajar PHP MySQLi #5 : Update Data dalam Database dengan PHP

Posted on

Belajar PHP MySQLi Update/Edit data kedalam Database,  Pada sesi belajar PHP kali ini kita akan membahas cara mengupdate/ mengedit data kedalam database menggunakan PHP tentunya.

Saya sarankan silahkan baca sesi belajar PHP sebelumnya Menyiapkan Local Server XAMPP, MAMP, LAMPMembuat Database, Koneksi ke Database MySQLi dan MySQL dan Menampilkan Data & Detail Data dari Database pada Tabel serta Cara Menambahkan (Insert) Data Ke Database.

Dalam tahap ini, kita akan belajar bagaimana caranya agar data yang sudah bisa disimpan, dilihat secara detail dan bisa juga diupdate dengan otomatis dari aplikasi “todo” yang kita buat sebelumnya.

Update Data dalam Database

Kita akan membuat file baru dengan nama update.php yang berguna untuk halaman proses update biodata ke database.

update.php

<?php
// defenisikan koneksi
require('koneksi.php');
// Cek apakah parameter ID ada
if (isset($_GET['id'])) {
// jika ada ambil nilai id
$id = $_GET['id'];
} else {
// jika tidak ada redirect ke index.php
header('Location:index.php');
}
// query sql menampilkan data berdasarkan ID Biodata
$sql = "SELECT * FROM tbl_biodata WHERE id='$id'";
// tampung data (dalam array) kedalam variable $biodata
$biodata = mysqli_query($conn, $sql);
if (mysqli_num_rows($biodata) > 0) {
// jika ada tampilkan kedalam tabel
$data = mysqli_fetch_assoc($biodata);
}
// cek apakah tombol simpan ditekan
if (isset($_POST['submit'])) {
// jika iya maka ambil nilai masing-masing field
$namaDepan = $_POST['namaDepan'];
$namaBelakang = $_POST['namaBelakang'];
$alamat = $_POST['alamat'];
// query mengupdate data ke database
$sql = "UPDATE tbl_biodata SET nama_depan='$namaDepan',
nama_belakang='$namaBelakang',
alamat='$alamat' WHERE id='$id'";
// cek apakah proses update berhasil
if (mysqli_query($conn, $sql)) {
// jika berhasil, munculkan pesan berhasil diupdate
echo "Data berhasil diupdate, refresh halaman untuk melihat perubahan";
} else {
// jika tidak, tampilkan pesan gagal menyimpan
echo "Ouppsss..., maap proses menyimpan data tidak berhasil";
}
}
?>
<!DOCTYPE html>
<html lang="id" dir="ltr">
<head>
<title>kodeajaib[dot]com</title>
</head>
<body>
<h2>Selamat Datang di KodeAjaib.com</h2>
<h3>Update Biodata</h3>
<form action="" method="POST">
<table>
<tr>
<td>Nama Depan</td>
<td><input type="text" name="namaDepan" value="<?php echo $data['nama_depan']; ?>"></td>
</tr>
<tr>
<td>Nama Belakang</td>
<td><input type="text" name="namaBelakang" value="<?php echo $data['nama_belakang']; ?>"></td>
</tr>
<tr>
<td>Alamat</td>
<td><textarea name='alamat' rows='8' cols='80'><?php echo $data['alamat']; ?></textarea></td>
</tr>
<tr>
<td></td>
<td><input type='submit' name='submit' value='Update Data'></td>
</tr>
</table>
</form>
<p><a href="index.php">Kembali ke Index</a></p>
<p>Copyright @ Localhost</p>
</body>
</html>

Agar anda bisa mengupdate biodata berdasarkan id biodata kedalam database, anda harus menambahkan baris code pada file index.php untuk mendapatkan id masing-masing data.


$strTbl .= "<td><a href='detail.php?id=".$data['id']."'>Lihat Detail</a>
<a href='update.php?id=".$data['id']."'>Edit</a>
</td>";

Sehingga file index.php menjadi seperti dibawah ini

index.php

<?php
// defenisikan koneksi
require('koneksi.php');
?>
<!DOCTYPE html>
<html lang="id" dir="ltr">
<head>
<title>kodeajaib[dot]com</title>
</head>
<body>
<h2>Selamat Datang di KodeAjaib.com</h2>
<h3>Tabel Biodata</h3>
<p><a href="tambah.php">Tambah Bioadata</a></p>
<?php
// query SQL menampilkan data dari table tbl_biodata
$sql = "SELECT * FROM tbl_biodata ORDER BY id DESC";
// tampung data (dalam array) kedalam variable $biodata
$biodata = mysqli_query($conn, $sql);
// variable untuk membuat tabel HTML
$strTbl = "";
$strTbl .= "<table border='1'>";
$strTbl .= "<tr>";
$strTbl .= "<th>No</th>";
$strTbl .= "<th>Nama</th>";
$strTbl .= "<th>Alamat</th>";
$strTbl .= "<th>Aksi</th>";
$strTbl .= "</tr>";
// variable nomor urut
$nomor = 1;
// cek apakah $biodata nilai kosong atau tidak
if (mysqli_num_rows($biodata) > 0) {
// jika ada looping untuk membaca seluruh data
// dan tampilkan kedalam tabel
while ($data = mysqli_fetch_assoc($biodata)) {
// tampilkan data kedalam table
$strTbl .= "<tr>";
$strTbl .= "<td>". $nomor."</td>";
$strTbl .= "<td>". $data['nama_depan'] ." ".$data['nama_belakang'] ."</td>";
$strTbl .= "<td>". $data['alamat'] ."</td>";
$strTbl .= "<td><a href='detail.php?id=".$data['id']."'>Lihat Detail</a>
<a href='update.php?id=".$data['id']."'>Edit</a>
</td>";
$strTbl .= "</tr>";
$nomor++;
}
} else {
// jika data kosong, tampilkan pesan didalam tabel
$strTbl .="<tr><td colspan='4'>Ooouppsss... Maaf, data masih kosong, tambahkan data dari Database terlebih dahulu</td></tr>";
}
$strTbl .= "</table>";
// tampilkan tabel pada halaman
print($strTbl);
?>
<p>Copyright @ Localhost</p>
</body>
</html>

Jika sudah selesai, silahkan akses project anda dengan alamat http://localhost/todo/index.php dan tekan menu “Edit”.

Sesi belajar PHP dan Database MySQLi ini akan terus di Update, jangan sampai ketinggalan dengan cara berlangganan melalui Email dan Follow juga sosial media kode ajaib.

See you next lessons and happy coding ….

Leave a Reply

Your email address will not be published. Required fields are marked *