Cara Membuat Pagination pada Card View PHP – Hai ketemu lagi dengan saya dan postingan merupakan lanjutan dari postingan saya sebelumnya yaitu tentang Cara Menampilkan Data Pada Card Dinamis dari Database MySQL pada PHP. Karena pada postingan itu saya hanya membahas tentang cara menampilkan data di database ke dalam card view namun jika ada 1000 data maka akan diload semua dan akan menjadikan aplikasi menjadi lambat. Oleh karena itu saya memberikan solusi dengan pagination. Sebenarnya pagination sudah saya bahas namun pada postingan saya tentang pagination sebelumnya menggunakan tabel untuk menampilkan datanya dan kali ini menggunakan card untuk menampilkan datanya.
Baca juga :
Cara Membuat Pagination dengan Database MySQL pada PHP
Cara Membuat Pagination Menggunakan Ajax Tanpa Loading pada PHP
Pada postingan ini saya hanya akan mencontohkan pagination standar, jika sobat ingin menampilkan dengan pagination menggunakan sehingga bisa menampilkan tanpa loading atau refresh halaman maka sobat perlu mengunjungi lagi postingan saya sebelumnya. Berikut adalah cara membuat card view dengan sama tinggi dan menggunakan pagination.
Membuat Database MySQL
1. Pertama yang WAJIB ada yaitu sobat harus membuat sebuah database. Sobat bisa menggunakan tools bantu seperti navicat, heidi SQL atau lainnya. Sobat juga bisa membuatnya dengan mengakses url localhost/phpmyadmin -> klik tab Database dan tuliskan db_dewankomputer-> Klik tombol Create/Buat.
2. Buat tabel untuk mengetesnya dengan mengetikkan query dibawah ini pada tab SQL lalu klik tombol Kirim/Go
1 2 3 4 5 6 7 8 9 10 |
CREATE TABLE `tbl_artikel` ( `id` int(11) NOT NULL AUTO_INCREMENT, `judul` text CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, `deskripsi` text CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, `tag` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, `foto` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL, `penulis` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL, `tgl_input` datetime(0) NOT NULL, PRIMARY KEY (`id`) USING BTREE ) |
3. Kemudian daripada sobat memasukkan datanya satu-persatu maka sobat bisa jalankan perintah query dibawah
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
INSERT INTO `tbl_artikel` VALUES (1, 'Cara Membuat Autocomplete/Suggestion dengan Plugin pada PHP', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (2, 'Cara Membuat Autocomplete dengan Ajax dari Database pada PHP', 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (3, 'Membuat Upload dan Resize/Compress Gambar denga Ajax pada PHP', 'At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (4, 'Cara Membuat Pagination Menggunakan Ajax Tanpa Loading pada PHP', 'Lorem ipsum dolor sit amet', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (5, 'Cara Membuat Pagination dengan Database MySQL pada PHP', 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (6, 'Cara Mengupload Gambar dengan Ajax dan Menyimpan ke Database PHP', 'At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (7, 'Cara Membuat Upload File Dengan Progressbar Menggunakan Ajax pada PHP', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (8, 'Cara Membuat Scrollspy pada Bootstrap 4', 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (9, 'Cara Membuat Corousel/Slider Image Responsive Menggunakan Bootstrap 4', 'At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (10, 'Cara membuat Crop and Upload Menggunakan Ajax pada PHP', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (11, 'Simple Pagination Pada Bootstrap 4', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (12, 'Membuat Progress Bar dengan Bootstrap 4', 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (13, 'Membuat Border Menggunakan Bootstrap 4', 'At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (14, 'Cara Membuat Convert Format Rupiah Pada PHP dan Javascript', 'Lorem ipsum dolor sit amet', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (15, 'Membuat Navbar dengan Bootstrap 4 dengan Mudah', 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (16, 'Memasang Text Editor Summernote WYSIHTML5 dengan Mudah', 'At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (17, 'Membuat Nav Menggunakan Bootstrap 4 Dengan Mudah', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (18, 'Cara Membuat Komentar Bertingkat dari Database Menggunakan Ajax Pada PHP', 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla pariatur?', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (19, 'Membuat Nested Media Object pada Bootstrap 4', 'At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); INSERT INTO `tbl_artikel` VALUES (20, 'CRUD Enkripsi / Deskripsi dengan Base64 pada PHP – Part 3 Edit dan Hapus Data', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.', 'dewan komputer', 'artikel1.png', 'Dewan', '2019-01-23 01:02:02'); |
Pada contoh gambarnya semua saya samakan yaitu artikel1.png jadi sobat harus menambahkan file dengan nama tersebut agar gambarnya muncul pada card.
Menampilkan Card View dan Membuat Pagination
Berikut adalah cara membuat card secara dinamis dan mempunyai tinggi yang sama dalam satu baris dan dengan pagination
1. Pertama tentunya seperti biasa kita membuat file koneksi.php yang berfungsi untuk menyambungkan dengan database dan isikan dengan script dibawah
1 2 3 4 5 6 7 8 9 |
<?php define('HOST','localhost'); define('USER','root'); define('PASS',''); define('DB1', 'db_dewankomputer'); // Buat Koneksinya $db1 = new mysqli(HOST, USER, PASS, DB1); ?> |
2. Selanjutnya buat file index.php, dan masukkan kode cssnya karena untuk membuat card kita menggunakan bootstrap maka wajib hukumnya kita untuk memasukkan kode dibawah pada tag <head>
1 |
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"> |
Karena untuk keperluan demo jadi saya menggunakan css dan js online, namun jika sobat ingin menggunakannya untuk keperluan development maka sobat harus mendownloadnya terlebih dahulu karena nanti tidak akan jalan jika dalam keadaan offline atau sobat bisa mendownloadnya bersama dengan project ini di akhir postingan.
3. Masih di file index.php pada tag body kita tambahkan kode dibawah untuk menampilkan datanya
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 37 38 39 40 41 |
<div class="row" id="load_data"> <?php include 'koneksi.php'; $page = (isset($_GET['page']))? $_GET['page'] : 1; $limit = 8; $limit_start = ($page - 1) * $limit; $no = $limit_start + 1; $query = "SELECT * FROM tbl_artikel ORDER BY id ASC LIMIT $limit_start, $limit"; $dewan1 = $db1->prepare($query); $dewan1->execute(); $res1 = $dewan1->get_result(); while ($row = $res1->fetch_assoc()) { $id = $row["id"]; $foto = $row["foto"]; $tgl_input = $row["tgl_input"]; $judul = $row["judul"]; if (strlen($judul) > 60) { $judul = substr($judul, 0, 60) . "..."; } $deskripsi = $row["deskripsi"]; if (strlen($deskripsi) > 100) { $deskripsi = substr($deskripsi, 0, 100) . "..."; } ?> <div class="col-sm-3 mb-3"> <div class="card"> <img src="<?php echo $foto; ?>" class="card-img-top" alt="gambar"> <div class="card-body"> <h5 class="card-title"><?php echo $judul; ?></h5> <p class="card-text"><?php echo $deskripsi; ?></p> </div> <div class="card-footer"> <small class="text-muted">Post on <?php echo $tgl_input; ?></small> </div> </div> </div> <?php } ?> </div> |
Penjelasan :
Pada kode dibawah artinya kita batasi maksimal jumlah kata pada judulnya adalah 60 karakter sehingga jika judul sangat panjang maka judul akan dipotong dan ditambahkan “…” begitu pula pada deskripsinya. Untuk card saya tampilkan 8 pada setiap halamannya.
1 2 3 |
if (strlen($judul) > 60) { $judul = substr($judul, 0, 60) . "..."; } |
4. Untuk menambahkan
pagination, sobat tambahkan kode dibawah ini terserah sobat mau dibawah sendiri atau diatas sendiri asalkan masih pada tag <body>, pada contoh saya contohkan saja paginationnya dibawah dan tengah. Scriptnya seperti dibawah
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 37 38 39 40 41 |
<?php $query_jumlah = "SELECT count(*) AS jumlah FROM tbl_artikel"; $dewan1 = $db1->prepare($query_jumlah); $dewan1->execute(); $res1 = $dewan1->get_result(); $row = $res1->fetch_assoc(); $total_records = $row['jumlah']; ?> <nav class="mb-5"> <ul class="pagination justify-content-center"> <?php $jumlah_page = ceil($total_records / $limit); $jumlah_number = 1; //jumlah halaman ke kanan dan kiri dari halaman yang aktif $start_number = ($page > $jumlah_number)? $page - $jumlah_number : 1; $end_number = ($page < ($jumlah_page - $jumlah_number))? $page + $jumlah_number : $jumlah_page; if($page == 1){ echo '<li class="page-item disabled"><a class="page-link" href="#">First</a></li>'; echo '<li class="page-item disabled"><a class="page-link" href="#"><span aria-hidden="true">«</span></a></li>'; } else { $link_prev = ($page > 1)? $page - 1 : 1; echo '<li class="page-item"><a class="page-link" href="?page=1">First</a></li>'; echo '<li class="page-item"><a class="page-link" href="?page='.$link_prev.'" aria-label="Previous"><span aria-hidden="true">«</span></a></li>'; } for($i = $start_number; $i <= $end_number; $i++){ $link_active = ($page == $i)? ' active' : ''; echo '<li class="page-item '.$link_active.'"><a class="page-link" href="?page='.$i.'">'.$i.'</a></li>'; } if($page == $jumlah_page){ echo '<li class="page-item disabled"><a class="page-link" href="#"><span aria-hidden="true">»</span></a></li>'; echo '<li class="page-item disabled"><a class="page-link" href="#">Last</a></li>'; } else { $link_next = ($page < $jumlah_page)? $page + 1 : $jumlah_page; echo '<li class="page-item"><a class="page-link" href="?page='.$link_next.'" aria-label="Next"><span aria-hidden="true">»</span></a></li>'; echo '<li class="page-item"><a class="page-link" href="?page='.$jumlah_page.'">Last</a></li>'; } ?> </ul> </nav> |
5. Jika sobat jalankan kode diatas sudah bisa namun ada masalah lagi jika ada 1 judul atau deskripsi yang sangat pendek maka tinggi dari card tidak sama sehingga terlihat tidak rapi. Oleh karena itu kita perlu menambahkan cssnya lagi yang bisa sobat buat pada file style.css atau bisa sobat masukkan pada tag <head> kode dibawah ini
1 2 3 4 5 6 7 8 |
<style type="text/css"> .card-title{ min-height: 100px; } .card-text { min-height: 120px; } </style> |
Begitulah cara kita membuat card sama tinggi sehingga lebih rapi.
6. Jika sobat jalankan project maka akan muncul tampilan seperti dibawah
Bagaimana? jika sobat sudah melihat postingan saya tentang simple pagination pasti hampir sama bukan karena kita hanya merubah tabel menjadi card saja. Tentunya jika sobat menggunakan Ajax supaya saat pindah halaman tidak perlu loading/refresh halaman bisa sobat coba-coba juga dengan melihat postingan saya tentang pagination dengan ajax.Selain paginationnya tentu menu searchnya juga sama kita hanya mengubah dari search menampilkan ke dalam tabel menjadi search menampilkan ke dalam card. Untuk selanjutnya saya akan membahas juga cara menambahkan tombol load more. Jadi kita mengganti pagination dengan tombol load more. Dan karena kita menggunakan bootstrap tentunya card diatas menjadi responsive design mengikuti lebar layarnya.
Sekian postingan saya tentang Cara Membuat Pagination pada Card View PHP. Jika ada pertanyaan silahkan tinggalkan pada kolom komentar dibawah dan apabila ada kesalahan saya mohon maaf. Kunjungi postingan saya lainnya untuk menambah wawasan sobat.
Baca juga :
Cara Membuat Pagination dengan Database MySQL pada PHP
Cara Membuat Pagination Menggunakan Ajax Tanpa Loading pada PHP
Cara Membuat Tombol Loadmore Menggunakan Ajax pada PHP
Jika sobat ingin mendownload tutorial diatas maka sobat bisa klik link dibawah ini :