Langsung ke konten utama

Edit Data dengan AJAX dalam CRUD PHP & MySQL

Edit Data dengan AJAX dalam CRUD PHP & MySQL



halo semua, kembali lagi di Zhuzhu-sama blogger.

Pada artikel sebelumnya, kita telah membuat fitur tambah dan hapus data menggunakan AJAX. Sekarang, kita akan menambahkan fitur edit data tanpa perlu me-reload halaman.

1. Menampilkan Data dengan Tombol Edit

Kita akan menambahkan tombol edit di setiap baris data mahasiswa.

Update read.php:

<?php

include 'config.php';

$result = $koneksi->query("SELECT * FROM mahasiswa");

echo "<table border='1'><tr><th>Nama</th><th>Email</th><th>Jurusan</th><th>Aksi</th></tr>";

while ($row = $result->fetch_assoc()) {

    echo "<tr>

            <td>".$row['nama']."</td>

            <td>".$row['email']."</td>

            <td>".$row['jurusan']."</td>

            <td>

                <button onclick=\"editData(".$row['id'].")\">Edit</button>

                <button onclick=\"hapusData(".$row['id'].")\">Hapus</button>

            </td>

         </tr>";

}

echo "</table>";

?>

2. Membuat Form Edit

Form ini akan diisi secara otomatis dengan data yang akan diedit.

Kode form edit:

<h2>Edit Data Mahasiswa</h2>

<form id="formEdit">

    <input type="hidden" id="id">

    Nama: <input type="text" id="nama_edit"><br>

    Email: <input type="email" id="email_edit"><br>

    Jurusan: <input type="text" id="jurusan_edit"><br>

    <button type="button" onclick="updateData()">Update</button>

</form>

3. Mengambil Data untuk Diedit

Kita perlu mengambil data dari database berdasarkan ID yang dipilih.

Kode get_data.php:

<?php

include 'config.php';

$id = $_POST['id'];

$data = $koneksi->query("SELECT * FROM mahasiswa WHERE id=$id")->fetch_assoc();

echo json_encode($data);

?>

4. Mengupdate Data dengan AJAX

Kode update.php:

<?php

include 'config.php';

$id = $_POST['id'];

$nama = $_POST['nama'];

$email = $_POST['email'];

$jurusan = $_POST['jurusan'];

$sql = "UPDATE mahasiswa SET nama='$nama', email='$email', jurusan='$jurusan' WHERE id=$id";

if ($koneksi->query($sql)) {

    echo "Data berhasil diperbarui!";

} else {

    echo "Gagal memperbarui data!";

}

?>

5. JavaScript untuk Edit Data

Kode script AJAX:

<script>

function editData(id) {

    $.ajax({

        url: "get_data.php",

        type: "POST",

        data: {id: id},

        dataType: "json",

        success: function(data) {

            $("#id").val(data.id);

            $("#nama_edit").val(data.nama);

            $("#email_edit").val(data.email);

            $("#jurusan_edit").val(data.jurusan);

        }

    });

}

function updateData() {

    let id = $("#id").val();

    let nama = $("#nama_edit").val();

    let email = $("#email_edit").val();

    let jurusan = $("#jurusan_edit").val();

    $.ajax({

        url: "update.php",

        type: "POST",

        data: {id: id, nama: nama, email: email, jurusan: jurusan},

        success: function(response) {

            alert(response);

            tampilkanData();

        }

    });

}

</script>

Kesimpulan

Sekarang, fitur edit data sudah bisa dilakukan dengan AJAX tanpa reload halaman. 

Jangan lupa follow saya untuk update lebih lanjut:

Semoga artikel ini dapat bermanfaat! 

Komentar

Posting Komentar

Postingan populer dari blog ini

Tutorial CRUD PHP & MySQL

Tutorial CRUD (Create, Read, Update, Delete) PHP & MySQL Halo semua. selamat datang kembali di Zhuzhu-sama blogger. Pada artikel sebelumnya kita sudah mempelajari dasar-dasar dari pemrograman PHP, sekarang kita akan melanjutkan ketahap selanjutnya yaitu belajar CRUD PHP dan mysql. selamat membaca. CRUD adalah operasi dasar dalam pengolahan data di database. Dalam tutorial ini, kita akan membuat sistem CRUD sederhana dengan PHP dan MySQL. 1. Membuat Database dan Tabel Buka phpMyAdmin dan jalankan SQL berikut: CREATE DATABASE crud_php; USE crud_php; CREATE TABLE mahasiswa ( id INT AUTO_INCREMENT PRIMARY KEY, nama VARCHAR(100), email VARCHAR(100), jurusan VARCHAR(50) ); 2. Membuat File Koneksi Database (config.php) File ini berfungsi untuk menghubungkan PHP dengan MySQL. <?php $host = "localhost"; $user = "root"; $pass = ""; $db = "crud_php"; $koneksi = new mysqli($host, $user, $pass, $db); if ($kon...

Cara mengencrypt decrypt text dan file python dengan hex

Assalamu'alaikum Warahmatullahi Wabarakatuh Selamat datang kembali di blog ini! Pada kesempatan kali ini, saya akan membagikan tutorial tentang cara mengenkripsi dan mendekripsi file atau teks Python. Yuk, langsung kita mulai! Mengenkripsi Teks dengan Hex Untuk mengenkripsi teks dalam format hex, gunakan kode berikut: ("HELLO KITTY").encode("hex") Pada contoh ini, "HELLO KITTY" adalah teks asli yang akan dienkripsi. Fungsi encode("hex") akan mengubahnya menjadi kode hex seperti berikut: 48454c4c4f204b49545459 Mendekripsi Teks dari Hex Untuk mengembalikan teks dari format hex ke bentuk aslinya, gunakan kode berikut: ("48454c4c4f204b49545459").decode("hex") Hasilnya akan kembali menjadi teks asli, yaitu: HELLO KITTY Mengenkripsi File dengan Hex Jika ingin mengenkripsi file menggunakan hex, gunakan kode berikut: inp = raw_input("Masukkan nama file: ") bk ...

Pagination AJAX untuk Data Besar dalam CRUD AJAX PHP & MySQL

Pagination AJAX untuk Data Besar dalam CRUD AJAX PHP & MySQL yo selamat datang kembali di Zhuzhu-sama blogger. Pada artikel sebelumnya, kita telah menambahkan DataTables untuk mempermudah pencarian, sorting, dan pagination. Sekarang, kita akan mengimplementasikan Pagination AJAX untuk menangani data besar dengan lebih efisien. 1. Menyiapkan Pagination di MySQL Untuk menangani data besar, kita akan menggunakan LIMIT dan OFFSET di MySQL untuk mengatur jumlah data yang ditampilkan di setiap halaman. Query Pagination: $limit = 10; // Jumlah data per halaman $offset = ($page - 1) * $limit; $query = "SELECT * FROM mahasiswa LIMIT $limit OFFSET $offset"; 2. Mengubah Query di read.php untuk Pagination Kita akan memperbarui file read.php untuk menampilkan data sesuai halaman yang diminta. Update read.php: <?php include 'config.php'; $page = isset($_POST['page']) ? $_POST['page'] : 1; // Halaman yang diminta $limit = 10; // Juml...