CRUD PHP MySQL : Update Data MySQL dengan PHP, Edit Data MySQL – Halo semuanya , apa kabar ? semoga anda dalam keadaan baik-baik saja. Tutorial kali ini akan membahas mengenai lanjutan CRUD PHP MySQL megenai cara update data MySQL dengan PHP.
Sebelumnya kita sudah belajar 2 hal yaitu :
Apabila anda melihat tutorial ini , namun belum mengikuti tutorial php sebelumnya harap membaca tutorial sebelumnya agar pembelajaran lebih terarah.
Saya ulas sedikit, sebelumnya kita sudah dapat menampilkan data MySQL dan melakukan Insert Data MySQL dengan table posts dengan skema tabel daabase sebagai berikut :
1 2 3 4 5 6 7 8 9 | +-------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | title | varchar(255) | NO | | NULL | | | body | varchar(255) | NO | | NULL | | | tags | varchar(255) | NO | | NULL | | +-------+--------------+------+-----+---------+----------------+ 4 rows in set (0.00 sec) |
Cara update data MySQL dengan PHP
Untuk melakukan update data MySQL dapat menggunakan query update yang bisa anda pelajari di Cara melakukan Update Data pada Database MySQL seperti biasanya. Dimana menggunakan parameter tertentu sebagai acuan edit data MySQL.
Berikut ini format update data MySQL.
1 | UPDATE table SET kolom = data WHERE acuan |
Yuk kita langsung saja implementasikan menggunakan bahasa program PHP.
Menampilkan data ke dalam form
Langkah pertama harus menampilkan data yang di pilih berdasarkan ID di dalam form menggunakan query select.
Buat file dengan nama edit_posts.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?php include "config/mysql.php"; $id = $_GET['id']; $sql = "SELECT * FROM posts where id = " . $id; $result = $result = $mysqli->query($sql); $data = $result->fetch_array(); if ($result->num_rows < 1) { die("data tidak tersedia"); return; } ?> <h1>Update Data Selected </h1> <form action="update_posts.php" method="POST"> <input type="hidden" name="id" value="<?php echo $data['id']; ?>" required> <p>Title</p> <input type="text" name="title" placeholder="Masukkan Title" value="<?php echo $data['title']; ?>" required> <p>Body</p> <textarea name="body" id="" cols="30" rows="6" placeholder="Enter Body" required><?php echo $data['body']; ?></textarea> <p>Tags</p> <input type="text" name="tags" placeholder="Masukkan Tag" required value="<?php echo $data['tags']; ?>"> <br><br> <input type="Submit" value="Perbarui"> </form> |
Perhatikan kode di atas, untuk menampilkan data tunggal MySQL kita tidak perlu lagi melakukan pengulangan data array, cukup menggunakan data pertama saja.
Query di atas menggunakan kondisi / where terhadap primary key yaitu id. Setelah mendapatkan nilai maka akan di masukkan ke dalam nilai yang ada di form. Terdapat 1 field form yang di hidden yaitu id dengan tujuan tidak di tampilkan namun tetap mengirimkan nilai.
Jika di lihat form di atas action nya menuju ke update_posts.php. nah disitulah proses untuk melakukan update data.
Buat Proses Update Data
Silahkan buat file dengan nama update_posts.php.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php include "config/mysql.php"; $title = $_POST['title']; $body = $_POST['body']; $tags = $_POST['tags']; $id = $_POST['id']; $sql = "UPDATE posts SET title='$title', body = '$body', tags ='$tags' WHERE id= '$id'"; if (mysqli_query($mysqli, $sql)) { header("location: index.php?page=posts"); } else { echo "Gagal Update Data $sql. " . mysqli_error($mysqli); } mysqli_close($link); |
Perhatikan kode di atas, seperti cara insert data MySQL cara untuk mengambil data dari parameter dari field Form.
Jika sudah maka akan di lakukan query update dengan acuan id yang di kirim dari form.
Mengubah Kode Index.php
Silahkan ubah file index.php yang kita punya menjadi :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <html> <head> <style> .wrap { margin: 30px auto; width: 700px; } input { width: 100%; height: 30px; } textarea { width: 100%; } </style> </head> <body> <div class="wrap"> <?php if ($_GET["page"] == "posts") { include "show_posts.php"; } else if ($_GET["page"] == "create_posts") { include "create_posts.php"; } else if ($_GET["page"] == "edit_posts") { include "edit_posts.php"; } else { echo "welcome"; } ?> </div> </body> </html> |
Membuat Link menuju Edit
Link digunakan untuk mengarahkan ke dalam file edit yang kita buat, maka lakukan perubahan pada file show_posts.php dengan kode di bawah ini.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | <?php include "config/mysql.php"; echo "<h3>Daftar Post </h3>"; $sql = "SELECT * FROM posts"; if ($result = $mysqli->query($sql)) { if ($result->num_rows > 0) { echo "<table border='1'>"; echo "<tr>"; echo "<th>id</th>"; echo "<th>Title</th>"; echo "<th>Body</th>"; echo "<th>Tags</th>"; echo "<th>Action</th>"; echo "</tr>"; while ($row = $result->fetch_array()) { echo "<tr>"; echo "<td>" . $row['id'] . "</td>"; echo "<td>" . $row['title'] . "</td>"; echo "<td>" . $row['body'] . "</td>"; echo "<td>" . $row['tags'] . "</td>"; echo "<td><a href='index.php?page=edit_posts&id=" . $row['id'] . "'>Edit</a></td>"; echo "</tr>"; } echo "</table>"; $result->free(); } else { echo "Data tidak tersedia."; } } else { echo "ERROR: Could not able to execute $sql. " . $mysqli->error; } $mysqli->close(); |
Link yang di maksud pada kode di atas terdapat pada line 22.
Uji coba Edit Data MySQL dengan PHP
Silhkan akses halaman utama terhadap projek anda(index.php). contohnya : localhost/phpmysq/index.php?page=posts

Setelah itu edit pada salah satu data, dalam contoh ini saya menggunakan data pertama.

Lalu saya mengubah menjadi seperti gambar di atas.
Lihat hasilnya :

Perhatikan gambar di atas, data yang telah di edit sudah berubah sesuai yang kita isikan pada form edit di atas.
Sekian tutorial cara update data MySQL dengan PHP. Semoga Bermanfaat.