Cara menggunakan paginasi html

Paginasi adalah teknik untuk membagi data yang ditampilkan menjadi beberapa bagian halaman. Teknik ini biasanya digunakan untuk menyajikan banyak data dari database. Jika kita tidak menggunakan pagination tentunya akan menyulitkan pengguna aplikasi karena data langsung ditampilkan dalam jumlah yang banyak. Hal ini selain membuat aplikasi kita lama loadingnya, juga akan mempengaruhi user experience.

Show

    Pagination yang akan kita buat menggunakan Bootstrap, Bootstrap sendiri hanya berfungsi untuk membuat tampilan dan navigasi halaman paging menjadi lebih baik. Untuk mempelajari materi ini, sebaiknya pelajari terlebih dahulu cara membuat pagination dengan HTML dan PHP, serta membuat pagination dengan Bootstrap pada link berikut

    • https. //agussuratna. net/2021/09/13/make-paging-with-html-php-and-mysql/
    • https. //agussuratna. net/2022/01/24/tutorial-bootstrap-pagination-bootstrap/

     

    Langkah 1

    Tahap pertama kita buat dulu databasenya, disini kita menggunakan MySql, pada tutorial kali ini kita akan membuat database tentang 'library'

    • Membuat database perpustakaan
      create database penjualan;
    • Membuat Meja tbl_buku
      create table tbl_buku (
         idbuku varchar(20) not null primary key,
         judul varchar(100) not null,
         pengarang varchar(50) not null,
         penerbit varchar(50) not null
      );
    • Masukkan data sampel ke dalam Tabel tbl_buku
      INSERT INTO tbl_buku(idbuku,judul,pengarang,penerbit) 
      VALUES ('MAT001','Matematika 1','Ahmad Rozak','RPL Production'),
             ('MAT002','Matematika 2','Ahmad Rozak','RPL Production'),
             ('MAT003','Matematika 3','Ahmad Rozak','RPL Production'),
             ('MAT004','Matematika 4','Ahmad Rozak','RPL Production'),
             ('MAT005','Matematika 5','Ahmad Rozak','RPL Production'),
             ('MAT006','Matematika 6','Ahmad Rozak','RPL Production'),
             ('MAT007','Matematika 7','Ahmad Rozak','RPL Production'),
             ('MAT008','Matematika 8','Ahmad Rozak','RPL Production'),
             ('MAT009','Matematika 9','Ahmad Rozak','RPL Production'),
             ('MAT010','Matematika 10','Ahmad Rozak','RPL Production'),
             ('FIS001','Fisika 1','Asep Hadi','RPL Production'),
             ('FIS002','Fisika 2','Asep Hadi','RPL Production'),
             ('FIS003','Fisika 3','Asep Hadi','RPL Production'),
             ('FIS004','Fisika 4','Asep Hadi','RPL Production'),
             ('FIS005','Fisika 5','Asep Hadi','RPL Production'),
             ('FIS006','Fisika 6','Asep Hadi','RPL Production'),
             ('FIS007','Fisika 7','Asep Hadi','RPL Production'),
             ('FIS008','Fisika 8','Asep Hadi','RPL Production'),
             ('FIS009','Fisika 9','Asep Hadi','RPL Production'),
             ('FIS010','Fisika 10','Asep Hadi','RPL Production'),
             ('KIM001','Kimia 1','Rose Rihana','RPL Production'),
             ('KIM002','Kimia 2','Rose Rihana','RPL Production'),
             ('KIM003','Kimia 3','Rose Rihana','RPL Production'),
             ('KIM004','Kimia 4','Rose Rihana','RPL Production'),
             ('KIM005','Kimia 5','Rose Rihana','RPL Production'),
             ('KIM006','Kimia 6','Rose Rihana','RPL Production'),
             ('KIM007','Kimia 7','Rose Rihana','RPL Production'),
             ('KIM008','Kimia 8','Rose Rihana','RPL Production'),
             ('KIM009','Kimia 9','Rose Rihana','RPL Production'),
             ('KIM010','Kimia 10','Rose Rihana','RPL Production')
      ;

    Langkah 2

    Tahap kedua adalah membuat file untuk menghubungkan antara file PHP yang akan kita buat dengan database di MySql. Pertama kita buat folder project di htdocs misalnya dengan nama folder library, kemudian kita buat file dengan nama koneksi. php di folder library dengan sintaks berikut

    <?php
        $host       = "localhost";
        $user       = "root";
        $password   = "";
        $dbname     = "perpustakaan";
    
        $sambung=mysqli_connect($host,$user,$password,$dbname);
    ?>

    Untuk menghubungkan dari php ke database menggunakan fungsi mysqli_connect dengan membawa parameter host, user, password yang digunakan pada database dan database apa yang akan dihubungkan. Disini kita akan menghubungkan dengan database library yang sudah kita buat sebelumnya

    Baca Juga   Tutorial JavaScript #15. Acara di Javascript

    Langkah 3

    Tampilan pagination akan kita buat menggunakan bootstrap, bisa kita pelajari dari dokumentasi di situs resmi bootstrap pagination. Jadi kita buat folder assets di folder library, copy folder css dan js di file bootstrap ke folder assets

    Untuk cara install Bootstrap bisa dibaca di link berikut. https. //agussuratna. net/2021/02/06/makna-dan-cara-menggunakan-bootstrap/

    Sekarang kita masuk ke pembahasan utama, dimana kita membuat pagination di PHP yang mengadopsi komponen bootstrap pagination

    Buat file php dengan nama buku. php (namanya bisa kita gunakan sesuai kebutuhan). Isi dari file tersebut adalah sebagai berikut

    <!DOCTYPE html>
    <html>
        <head>
            <title>Data Buku Perpustakaan</title>
            <link rel="stylesheet" type="text/css" href="assets/css/bootstrap.css">
        </head>
    
        <body>
            <div class="container">
                <br>
                <h3><center>Data Buku Perpustakaan</center></h3>
                <h4><center>Menggunakan Pagination di PHP dengan Bootstrap</center></h4>
                
                <!--awal table-->
                <table class="table table-striped table-hover table-bordered">
                    <br>
                    <!--awal header table-->
                    <tr>
                        <td>No</td>
                        <td>ID Buku</td>
                        <td>Judul</td>
                        <td>Pengarang</td>
                        <td>Penerbit</td>
                    </tr>
                    <!--akhir header table-->    
                    
                    <?php
                        //koneksi ke database melalui koneksi.php
                        include "koneksi.php";
    
                        //menentukan banyak nya data yang akan ditampilkan dalam 1 halaman
                        $batas = 5;
                        $halaman = @$_GET['halaman'];
                        if(empty($halaman)){
                            $posisi     = 0;
                            $halaman    = 1;
                        }
                        else{
                            $posisi = ($halaman-1) * $batas;
                        }
                        
                        $no = $posisi+1;
    
                        //mengambil data dari tabel buku
                        $ambildata = mysqli_query($sambung, "select * from tbl_buku order by idbuku desc limit $posisi,$batas");
                        while ($tampildata = mysqli_fetch_array($ambildata)) {
                    ?>
                    
                    
                        <!--awal menampilkan data dari tabel buku ke halaman web-->
                        <tr>
                            <td> <?php echo $no++;?> </td>
                            <td> <?php echo $tampildata["idbuku"]; ?> </td>
                            <td> <?php echo $tampildata["judul"];?> </td>
                            <td> <?php echo $tampildata["pengarang"];?> </td>
                            <td> <?php echo $tampildata["penerbit"];?> </td>
                        </tr>
                        <!--akhir menampilkan data dari tabel buku ke halaman web-->
                    
                    
                    <?php
                        }
                    ?>
                </table>
                <!--akhir table-->
    
                <hr>
    
                <!--awal menentukan banyaknya halaman pagination-->
                <?php
                    $query2 = mysqli_query($sambung, "select * from tbl_buku");
                    $jumlahdata = mysqli_num_rows($query2);
                    $jumlahhalaman = ceil($jumlahdata/$batas);
                ?>
                <!--akhir menentukan banyaknya halaman pagination-->
                
                <!--awal navigasi pagination-->
                <nav>
                    <ul class="pagination justify-content-center">
                        <?php
                            for($i=1;$i<=$jumlahhalaman;$i++) {
                                if ($i != $halaman) {
                                    echo "<li class='page-item'><a class='page-link' href='buku.php?halaman=$i'>$i</a></li>";
                                } 
                                else {
                                    echo "<li class='page-item active'><a class='page-link' href='#'>$i</a></li>";
                                }
                            }
                        ?>
                    </ul>
                </nav>
                <!--akhir navigasi pagination-->
            </div>
        </body>
    </html>
    _

    Penjelasan

    Baca Juga   Menangani Sejumlah Besar Data di Laravel dengan Sisi Server Yajra DataTables

    Beberapa poin penting dalam sintaks di atas adalah:. Halaman paging yang dibuat dibagi menjadi 5 data masing-masing 1 halaman. Kita dapat mengganti sesuai kebutuhan pada variabel $limit

    Ketika ada nilai dari variabel $page dengan metode GET, yang berarti halaman paging diklik, maka query sql untuk position dan limit akan mengikuti berdasarkan perhitungan rumus $position = ($page-1) * $batas;

    Pada contoh di atas tabel tbl_buku ada 30 data sehingga jika dibagi 5 halaman data maka akan ada 6 halaman tampilan data

    Berikut adalah hasil pagination pada syntax diatas

    Cara menggunakan paginasi html

    Halaman pertama menampilkan 5 data buku, nanti ketika halaman kedua diklik maka akan ditampilkan data buku ke 6 sampai ke 10. Selanjutnya saat mengklik halaman ke-3 akan muncul data dari 11 sampai 15. Selanjutnya sampai halaman ke-6 akan menampilkan data dengan batas 5 data per halaman. Ketika data buku di database kami ditambahkan, jumlah halaman paging akan bertambah sesuai dengan jumlah data yang tersedia

    Ini adalah tutorial cara membuat pagination dengan PHP dan Bootstrap untuk menampilkan data dari database MySql, jika ada pertanyaan bisa tulis di kolom komentar