Wednesday, July 10, 2019

PHP Programming 9 - Database PHP MySQL CRUD UPDATE

Assaamu'alaikum

Selamat malam, salam programming!!. Masih melanjutkan pembahasan tentang PHP MySQL CRUD kali ini saya ingin bahas button UPDATEnya. Update yang di maksud disini adalah melakukan pembaruan data terhadap data yang sudah ada pada tabel di database. Nantinya di latihan PHP MySQL CRUD UPDATE ini menggunakan 2 method yang berbeda. Method GET untuk digunakan untuk hyperlinknya dan method post digunakan untuk form pengisian update datanya.

PHP MySQL Update

Di latihan PHP MySQL CRUD UPDATE ini kita membutuhkan 3 file php untuk menjalankan button update (tidak termasuk file koneksi ke database db.php). Yaitu file index.phpnya yang berisi data awal sebelum di update, lalu file edit.php yang berisi form tabel pengisian inputan dari user terkait data baru dan yang ketiga adalah file update.php yang berisi instruksi SQL untuk menjalankan perintah update dari variabel inputan user yang di input di file edit.php.

File latihan16.5.php

Untuk file index.php disini saya menamakan filenya latihan16.5.php isinya bisa di copy dari file sebelumnya. Di file ini kita hanya menambahkan buttonnya saja, yang letaknya di sebelah button DELETE. Button ini di arahkan ke file latihan16.5_edit.php menggunakan hyperlink. Ada method yang perlu dikirim disini yaitu method GET id dari record data yang ingin di update. Berikut script php file index.php atau file latihan16.5.php nya.  

<?php
    include "db.php";
 
    $sql = "SELECT * FROM data_tamu";
    $result = mysqli_query($conn, $sql);
 
    if (isset($_GET['op'])=="delete"){
        $id = $_GET['id'];
        $delete = "DELETE FROM data_tamu WHERE id=$id";
        $con=mysqli_query($conn, $delete);
        header('location:./latihan16.4.php');
    }
    
    if (mysqli_num_rows($result)>0){
        $no=1;
        echo "<table border=1 cellpadding=5 cellspacing=0 >";
        echo "<tr>
        <td> No</td>
        <td>Nama</td>
        <td>Alamat</td>
        <td>Email</td>
        <td>No HP</td>
        <td>Option</td>
        </tr>";
    
        while ($row = mysqli_fetch_assoc($result)){
            echo "<tr bgcolor = " . belang($no) . ">
            <td>" . $no . "</td>
            <td>" . $row["nama"] . "</td>
            <td>" . $row["alamat"] . "</td>
            <td>" . $row["email"] . "</td>
            <td>" . $row["no_hp"] . "</td>
            <td>" . "<a href=latihan16.5.php?op=delete&id=" . $row["id"] . ">Delete</a> | <a href=latihan16.5_edit.php?id=" . $row["id"] . ">Update</a></td></tr>";
            $no++;
        }
        echo "</table>";
    }
    else {
        echo"0 Result";
    }
    mysqli_close ($conn);
 
    echo "<br><center>&copy; Mahasiswa Mercu Buana Bekasi Pemrograman Web Genap 2019 </center>"
?>

File latihan16.5_edit.php

Selanjutnya, adalah file edit.php. File edit ini saya beri nama latihan16.5_edit.php. Isi file ini berupa formulir pengisian data yang baru inputan dari user. Sehingga di file ini menggunakan struktur html pada body scriptingnya namun masih berekstensi php. Di pembukaan script php di file ini terlebih dahulu kita tangkap method GET variabel id yang di kirim dari file index.php sebelumnya. Tujuannya agar tau record data mana yang ingin di update.  

$id = $_GET['id'];
id yang sudah di tangkap akan di munculkan nanti datanya didalam value input text form, agar user tau isi data sebelum mereka ubah apa. Karena itu perintah SQL read harus di instruksikan lagi dan di siapkan variabelnya.

Note : perlu di catat disini, semua file yang berkaitan dengan konektivitas ke database ($conn) harus di hubungkan ke file db.php yang pertama kali di buat dengan menggunakan perintah include.


$read = "SELECT * FROM data_tamu WHERE id=$id";
$result = mysqli_query($conn, $read);
Query yang sudah di simpan di dalam variabel $result di tampilkan dengan mengguunakan perintah PHP SQL mysqli_fetch_assoc($result) lalu di tampilkan ke dalam form yanng berada di luar struktur php (karena penulisan form disini saya menggunakan method post). Perintah mysqli_fetch_assoc sendiri di instruksikan dengan perulangan while. Sehingga form dengan valuenya "data yang sebelum di update" di input di dalam perulangan while.


Sehingga perulangan while disini akan terpotong karena struktur php dan di buka lagi untuk menutup instruksi perulangan while ini (}). Ini lah yang disebut-sebut sebagai html di dalam php dan php didalam html :v.

while ($row = mysqli_fetch_assoc($result)){
?>

<form method="POST" action="./latihan16.5_update.php">
<tr> <td> <input type="hidden" name="id" value="<?php echo $row['id'];?>"> </td>
     <td> <input type="text" name="nama" value=" <?php echo $row['nama'];?>"> </td>
     <td> <input type="text" name="alamat" value="<?php echo $row['alamat'];?>"> </td>
     <td> <input type="text" name="email" value="<?php echo $row['email'];?>"> </td>
     <td> <input type="text" name="no_hp" maxlength="12" value="<?php echo $row['no_hp'];?>"></td>
     <td> <input type="submit" name="Submit" value="Submit">
</tr>
</table>
</form>
  
    <?php } ?>
Yang perlu di perhatikan disini adalah Form post yang dikirimkan yaitu name dari inputannya. Dimana nantinya name inputan ini akan di tangkap file update.php untuk di masukan ke tabel di databasenya dengan menggunakan query. Perlu di catat disini, form yang support untuk databasenya adalah input dengan jenis text saja. Langsung saja berikut script lengkapnya file latihan16.5_edit.php.

<html>
<head>
    <title> Mahasiswa Mercu Buana Bekasi Pemrograman Web Genap 2019
    </title>
</head>
<body>
 
<?php
    include "db.php";
 
    $id = $_GET['id'];
    $read = "SELECT * FROM data_tamu WHERE id=$id";
    $result = mysqli_query($conn, $read);
 
    echo "<table border=1 cellpadding=5 cellspacing=0 >";
    echo "<tr>
    <td ></td>
    <td>Nama</td>
    <td>Alamat</td>
    <td>Email</td>
    <td>No HP</td>
    <td>Update</td>
    </tr>";
    
    while ($row = mysqli_fetch_assoc($result)){
?>

<form method="POST" action="./latihan16.5_update.php">
<tr> <td> <input type="hidden" name="id" value="<?php echo $row['id'];?>"> </td>
     <td> < input type="text" name="nama" value="<?php echo $row['nama'];?>"> </td>
     <td> <input type="text" name="alamat" value="<?php echo $row['alamat'];?>"> </td>
     <td> <input type="text" name="email" value="<?php echo $row['email'];? >"> </td>
     <td> <input type="text" name="no_hp" maxlength="12" value="<?php echo $row['no_hp'];?>"></td>
     <td> <input type="submit" name="Submit" value="Submit">
</tr>
</table>
</form>
   
    <?php } ?>
  
    <p align=center> &copy; Mahasiswa Mercu Buana Bekasi Pemrograman Web Genap 2019 </p>
</body>
</html>

File latihan16.5_update.php

Yang terakhir adalah scripting file untuk eksekusi query dengan data terbaru yang telah di input user. Form post yang di inputkan user terkait data terbaru terlebih dahulu kita tarik ke dalam variabel baru yang kita buat. 

include "db.php";

$id = $_POST['id'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$email = $_POST ['email'];
$no_hp = $_POST ['no_hp'];
Setelah itu baru kita lakukan querynya dengan menggunakan peritah UPDATE terhadap masing - masing kolom dengan id dari data record yang ingin user update. Pada akhir script php kita berikan perintah header. Agar setelah query di eksekusi, user langsung di arahkan ke laman awal (index.php). 

$update = "UPDATE data_tamu SET nama='$nama', alamat='$alamat', email='$email', no_hp='$no_hp' WHERE id=$id";
mysqli_query ($conn, $update);

header('location:./latihan16.5.php');
Berikut script lengkap file latihan16.5_update.php nya di lengkapi dengan script debug jika sewaktu-waktu error, kalian bisa melakukan troubeshoot letak errornya ada dimana.

<?php
    include "db.php";

    $id = $_POST['id'];
    $nama = $_POST['nama'];
    $alamat = $_POST['alamat'];
    $email = $_POST ['email'];
    $no_hp = $_POST ['no_hp'];

////  debug isi value form
//    echo "$id <br>";
//    echo "$nama <br>";
//    echo "$alamat <br>";
//    echo "$email <br>";
//    echo "$no_hp <br>";

    $update = "UPDATE data_tamu SET nama='$nama', alamat='$alamat', email='$email', no_hp='$no_hp' WHERE id=$id";
    mysqli_query ($conn, $update);

////  debug error query
//    if (mysqli_query($conn, $update)){
//        echo "Data Berhasil di tambahkan";
//    }
 
//    else {
//        echo "Gagal mengupdate data : " . mysqli_error($conn);
//    }
 
    header('location:./latihan16.5.php');
?>
kira-kira hasilnya akan seperti contoh berikut.
 
 
Demikian penjelasan mengenai Database PHP MySQL CRUD Update. Semoga mudah di pahami dan semoga bermanfaat bagi pembaca. Sekian dari saya, saran dan pertanyaan bisa letakan di komentar. Terima kasih sudah berkunjung, sampai berjumpa di pembahasan berikutnya. Salam Programming!!.

0 komentar:

Post a Comment

Kenal Saya

Follow My Twitter

Profil



Nama saya Alfa Farhan Syarief, web ini ada berdasarkan nama saya sendiri. Saya sendiri masih duduk tingkat SMK. Lebih lengkapnya saya masih bersekolah di SMKN 1

More »

Blog Archive

Recent Comment