Langsung ke konten utama

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;  // Jumlah data per halaman

$offset = ($page - 1) * $limit;

$result = $koneksi->query("SELECT * FROM mahasiswa LIMIT $limit OFFSET $offset");

echo "<table class='table table-bordered'><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 class='btn btn-warning' onclick=\"editData(".$row['id'].")\" data-bs-toggle='modal' data-bs-target='#modalEdit'>Edit</button>

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

            </td>

         </tr>";

}

echo "</table>";

?>

3. Mengambil Total Halaman

Kita juga perlu mengambil total jumlah data untuk menghitung berapa banyak halaman yang diperlukan.

Kode untuk mengambil total halaman:

<?php

$totalData = $koneksi->query("SELECT COUNT(*) FROM mahasiswa")->fetch_row()[0];

$totalPages = ceil($totalData / $limit);

?>

4. Menambahkan Navigasi Halaman

Selanjutnya, kita akan menambahkan tombol navigasi untuk berpindah antar halaman.

Update read.php untuk menambahkan tombol navigasi:

<?php

for ($i = 1; $i <= $totalPages; $i++) {

    echo "<button class='btn btn-primary' onclick='pindahHalaman($i)'>$i</button>";

}

?>

5. Mengupdate Data dengan AJAX

Setelah navigasi halaman diimplementasikan, kita akan menggunakan AJAX untuk memuat data tanpa me-refresh halaman.

Update script AJAX:

<script>

function tampilkanData(page) {

    $.ajax({

        url: "read.php",

        type: "POST",

        data: {page: page},

        success: function(response) {

            $("#dataTable").html(response);

        }

    });

}

function pindahHalaman(page) {

    tampilkanData(page);

}

</script>

6. Kesimpulan

Dengan menggunakan Pagination AJAX, kita dapat menangani data besar dengan lebih efisien tanpa perlu memuat ulang seluruh halaman.

Jangan lupa follow saya untuk update lebih lanjut:

Semoga artikel ini dapat bermanfaat!

Komentar

Postingan populer dari blog ini

Validasi input di CRUD PHP & MySQL

Validasi Input di CRUD PHP & MySQL halo selamat datang kembali di Zhuzhu-sama blogger. Pada artikel sebelumnya kita sudah mempelajari tutorial crud php mysql. sekarang kita akan melanjutkan belajar validasi input CRUD PHP mysql. selamat membaca:). Validasi input sangat penting untuk memastikan data yang dimasukkan oleh pengguna tidak kosong, sesuai format yang diinginkan, dan aman dari serangan seperti SQL Injection atau XSS. 1. Menambahkan Validasi di tambah.php Pada form tambah data, kita akan melakukan validasi: Pastikan semua input tidak kosong Validasi format email Menggunakan htmlspecialchars() untuk menghindari karakter berbahaya Kode tambah.php setelah ditambahkan validasi: <?php include 'config.php'; ?> <h2>Tambah Data Mahasiswa</h2> <form method="POST"> Nama: <input type="text" name="nama" required><br> Email: <input type="email" name="e...

Integrasi Bootstrap Modal dalam CRUD AJAX PHP & MySQL

Integrasi Bootstrap Modal dalam CRUD AJAX PHP & MySQL halo semua, selamat datang di Zhuzhu-sama blogger. Pada artikel sebelumnya, kita telah membuat fitur CRUD dengan AJAX. Sekarang, kita akan menggunakan Bootstrap Modal agar tampilan lebih modern dan interaktif. 1. Menambahkan Bootstrap ke Proyek Tambahkan link Bootstrap ke dalam <head> : <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> 2. Menampilkan Data dengan Tombol Edit & Hapus Pada tabel data, kita tambahkan tombol Edit dan Hapus yang akan membuka modal. Update read.php: <?php include 'config.php'; $result = $koneksi->query("SELECT * FROM mahasiswa"); echo "<table class=...

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...