Top Menu

[CRUD PHP dan MYSQL] - Part 5 Membuat Form Untuk Merubah Data (Update)

Assalamualaikum Warahmatullahi Wabarakatuh,
Sekarang kita akan membuat form untuk merubah data, dimana nanti data yang akan diubah, akan tampil terlebih dahulu pada form sebelum akhirnya disimpan kedalam database, berikut source codenya :
edit_mahasiswa.php
<?php
include "config/database.php";
$id     = $_GET['id'];
$sql    = "SELECT * FROM tbl_mahasiswa WHERE id = $id";
$data   = $mysqli->query($sql);
$num_rows = $data->num_rows;
if ($num_rows == 0):
    header("location: index.php");
else:
    while ($row = $data->fetch_assoc()):
        extract($row);
?>
<!DOCTYPE html>
<html>
<head>
    <title>Edit Mahasiswa</title>
</head>
<body>
    <h1>Edit Mahasiswa</h1>
    <form method="post" action="action/edit_mahasiswa.php?id=<?=$id?>">
        <table>
            <tr>
                <td>NIM</td>
                <td colspan="2">
                    <input type="number" min="0" name="nim"
                    value="<?=$nim?>" required>
                </td>
            </tr>
            <tr>
                <td>Nama</td>
                <td colspan="2">
                    <input type="text" name="nama"
                    value="<?=$nama?>" required>
                </td>
            </tr>
            <tr>
                <td>Jenis Kelamin</td>
                <td>
                    <input type="radio" name="jk" value="0"
                    <?=($jk == 0)? 'checked' : '' ?>> Laki-laki
                </td>
                <td>
                    <input type="radio" name="jk" value="1"
                    <?=($jk == 1)? 'checked' : '' ?>> Perempuan
                </td>
            </tr>
            <tr>
                <td>Nomor Telepon</td>
                <td colspan="2">
                    <input type="number" min="0" max="999999999999"
                    name="no_tlp" placeholder="Ex: 085209451326"
                    value="<?=$no_tlp?>" required>
                </td>
            </tr>
            <tr>
                <td>Alamat</td>
                <td colspan="2">
                    <textarea rows="10" cols="50" name="alamat" required>
                        <?=$alamat?>
                    </textarea>
                </td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" name="submit" value="Submit"></td>
                <td><a href="index.php">Back</a></td>
            </tr>
        </table>
    </form>
</body>
</html>

<?php endwhile; endif; $data->free(); $mysqli->close(); ?>
action/edit_mahasiswa.php
Untuk proses perubahan datanya kita simpan pada folder 'action' dengan nama 'edit_mahasiswa.php'.
<?php
/**
 * Created by PhpStorm.
 * User: alfig
 * Date: 26/11/2018
 * Time: 20.22
 */

include "../config/database.php";

$id     = $_GET['id'];
$nim    = $_POST['nim'];
$nama   = $_POST['nama'];
$jk     = $_POST['jk'];
$no_tlp = $_POST['no_tlp'];
$alamat = $_POST['alamat'];

$sql    = "UPDATE tbl_mahasiswa SET nim = '$nim', nama = '$nama', jk = '$jk', no_tlp = '$no_tlp', alamat = '$alamat' WHERE id = $id";

if ($mysqli->query($sql)){
    echo "data berhasil diubah. <br />";
    echo "<a href='../index.php'>View Data</a>";
}else{
    echo "data gagal diubah : ".$mysqli->error."<br />";
    echo "<a href='../index.php'>View Data</a>";
}

$mysqli->close();
Hampir sama dengan proses penyimpanan data, cuman bedanya 'id' tidak dimaksukan kedalam proses data dan kita menggunakan dua metode yaitu 'GET' dan 'POST', untuk 'GET' berfungsi untuk mengambil data.
Terimakasih

Posting Komentar

Copyright © Alfi Gusman | 2012