Cara Membuat Pagination PHP MySQL dan Bootstrap

Share:

Halo semuanya, kembali lagi di sahretech. Baiklah pada kesempatan kali ini kita akan belajar membuat pagination dengan menggunakan bahasa php, DBMS MySQL dan framework UI bootstrap. Ayo ikuti tutorialnya berikut ini.



Pagination

pagination atau paging adalah proses untuk membagi data menjadi beberapa halaman. Hal ini berfungsi agar data yang ditampilkan pada halaman tersebut tidak terlalu panjang dan tidak membebani load halaman tersebut.

Penggunaan pagination sangat penting, karena hal ini berkaitan dengan kenyamanan pengguna. Contoh sederhana pagination yang bisa kita temui adalah google search. Saat kita mencari sesuatu maka halaman pertama google akan menampilkan 10 pencarian teratas, lalu pencarian lainnya dibagi pada halaman-halaman berikutnya. Nah, sekarang kalian coba bayangkan kalo google search tidak menggunakan pagination terhadap puluhan ribu hasil pencariannya?? 😱


Setelah sedikit pengenalan dan manfaat dari pagination, sekarang waktunya kita implementasi ke dalam kodingan. Jadi silahkan siapkan kopi, tempat yang nyaman, dan web editor kesayangan kalian sebelum kita mulai.

Baca Artikel Lain ✨
📰 1. Cara Cepat Membuat Back-end Restful API Tanpa Coding dengan Typicode Json Server read more
📰 2. Cara Menggunakan Library Datatable Serverside di Laravel Moodle read more
📰 3. Cara Membuat Import Data Excel ke Database Mysql dengan php read more
📰 4. Cara Membuat Peta Digital dengan Leafletjs, Alternatif Peta Digital tanpa Google Maps API read more

Cara Membuat Pagination di PHP

1. Buatlah sebuah database baru dengan nama latihan, lalu buat sebuah tabel di dalamnya dengan nama pegawai, untuk struktur tabelnya sendiri bisa kalian lihat pada gambar di bawah ini.

cara membuat pagination php dan mysql
Struktur tabel pegawai



Jangan lupa juga untuk memasukkan banyak data dummy ke dalam database. Oh iya, saya punya tips cepat untuk mengenerate data dummy yang banyak ke dalam database, silahkan ikuti link artikel berikut ini untuk belajar cara menggunakan library faker #link


2. Buatlah sebuah folder baru di dalam htdocs dengan nama latihan_pagination, lalu buatlah sebuah file baru di dalamnya dengan nama index.php. Copy dan pastekan script di bawah ini ke dalam file index.php
    

<!DOCTYPE html> <html lang="en"> <head> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl" crossorigin="anonymous"> </head> <body> <div class="container mt-4"> <table class="table table-striped"> <tr> <td>No</td> <td>Nama</td> <td>Jenis Kelamin</td> <td>No Telpon</td> <td>Alamat</td> </tr> <?php // menyimpan url halaman saat ini dengan fungsi get // misalnya kalian akan melihat ?halaman= 3 pada url di atas, maka 3 akan disimpan ke dalam var halaman $halaman = isset($_GET['halaman'])?(int)$_GET['halaman'] : 1; // jika nilai halaman lebih besar dari 1 maka halaman awal adalah halaman dikali 10 - 10 // jika nilai halaman lebih kecil dari 1 maka halaman awal adalah 0 $halaman_awal = ($halaman > 1) ? ($halaman * 10) - 10 : 0; // membuat koneksi ke database $koneksi = mysqli_connect("localhost", "root", "", "latihan"); // jika kembali dikurangi 1 dan jika setelahnya ditambah 1 $sebelum = $halaman - 1; $setelah = $halaman + 1; // mengambil data dari tabel pegawai untuk ditotal $datas = mysqli_query($koneksi, "select * from pegawai"); // jumlah data pegawai ditotal $jumlah_data = mysqli_num_rows($datas); // ceil adalah fungsi pembulatan pada php $total_halaman = ceil($jumlah_data / 10); // yang ini mengambil data pengawai untuk ditampilkan dengan fungsi limit // satu halaman akan ditampilkan paling banyak 10 atau limit 10 $data_pegawais = mysqli_query($koneksi, "select * from pegawai limit $halaman_awal, 10"); // nomor digunakan untuk penomoran pada kolom no // karena index dimulai dari angka 0 maka perlu ditambah 1 $nomor = $halaman_awal + 1; //melakukan looping data while($data = mysqli_fetch_array($data_pegawais)){ ?> <tr> <td><?php echo $nomor++; ?></td> <td><?php echo $data['nama']; ?></td> <td><?php echo $data['jk']; ?></td> <td><?php echo $data['telepon']; ?></td> <td><?php echo $data['alamat']; ?></td> </tr> <?php } ?> </table> <!-- bagian pagination --> <nav> <ul class="pagination"> <li class="page-item"> <a class="page-link" <?php if($halaman > 1){ echo "href='?halaman=$sebelum'"; } ?>>Previous</a> </li> <?php for($x = 1; $x <= $total_halaman; $x++){ ?> <li class="page-item"><a class="page-link" href="?halaman=<?php echo $x ?>"> <?php echo $x; ?></a></li> <?php } ?> <li class="page-item"> <a class="page-link" <?php if($halaman < $total_halaman) { echo "href='?halaman=$setelah'"; } ?>>Next</a> </li> </ul> </nav> </div> </body> </html>


3. Silahkan save project kalian, lalu buka browser dan ketik url localhost/latihan_pagination. Jika berhasil maka tampilannya akan seperti gambar di bawah ini.

cara membuat pagination pada php
Hasil pagination dengan bootstrap



Bagaimana?, cukup mudah bukan. Oh iya, pagination ini tidak hanya digunakan pada tabel saja. Tapi juga bisa kalian gunakan pada post artikel atau berita yang memilki data yang sangat banyak.

Sekian tutorial cara membuat pagination php mysql dan bootstrap, semoga tutorial singkat ini bermanfaat, dan jika ada yang perlu ditanyakan silahkan bertanya langsung di kolom komentar di bawah ini. Sampai jumpa di tutorial pemrograman php lainnya 😁.


2 comments:

  1. terima kasih atas tutorial dan contoh nya...pertanyaan saya: bagaiman membuat limit halaman?
    misal:
    Previous 1 2 3 4 5...10 Next

    ReplyDelete
    Replies
    1. Kalo buat limit caranya agak panjang sih. Saya juga belum pernah bikin, biasanya langsung pake fitur datatable atau fitur dari laravel. Cari di web indo aja mas, ada kok yg bahas saya pernah baca

      Delete

Jangan lupa kasih komentar ya!. Karena komentar kalian membantu kami menyediakan informasi yang lebih baik

Tidak boleh menyertakan link atau promosi produk saat berkomentar. Komentar tidak akan ditampilkan. Hubungi 081271449921(WA) untuk dapat menyertakan link dan promosi