Membuat Pagination Codeigniter Dengan Bootstrap

Created at by Aris Munandar

Pada tutorial kali ini kita akan membahas bagaimana cara membuat pagination codeigniter dengan bootstrap, saya akan berusaha menjelaskan secara detail pembuatan pagination codeigniter ini. Didalam tutorial membuat pagination codeigniter dengan bootstrap ini saya menggunakan bootstrap versi 3 dan versi 4 dimana kita mengambil css dari CDN tanpa perlu mendownload file dari bootstrap.

Saya kan coba menjelaskan sedikit fungsi pagination, pagination berfungsi untuk mengelola data yang sangat banyak agar lebih ringan dan lebih mudah secara visual, dimana pagination akan mengelompokan beberapa baris data sesuai dengan urutan yang telah ditetapkan didalam kode program. Misalnya kita memiliki data 100 maka tentu apabila kita tampilkan semuanya akan terasa berat di sisi client sehingga kita perlu mengelompokannya menjadi per-10 misalnya (sesuai keinginan) sehingga kita akan miliki 10 link untuk menampilkan data berikutnya.

membuat pagination codeigniter dengan bootstrap

Gambar diatas adalah contoh pagination yang tadi saya jelaskan, kurang lebih yang akan kita buat seperti gambar diatas tersebut. Sebelum tutorial pagination codeigniter ini dimulai saya anggap pembaca telah menginstall dan mengerti dasar-dasar codeigniter sehingga lebih mudah dipahami.

Membuat Database

Pertama buatlah database terlebih dahulu, jalankan perintah dibawah ini.

CREATE DATABASE tutorial_pagination_codeigniter

Jika sudah, kita akan membuat tabel pengguna didalam database yang tadi kita buat, jalankan query dibawah ini:

CREATE TABLE pengguna(
     id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
     nama VARCHAR(50) NOT NULL,
     umur INT(3) NOT NULL,
     tanggal_lahir DATETIME,
     jenis_kelamin VARCHAR(10)
);

Lalu kita akan memasukan beberapa data dummy sebagai bahan latihan kita, jalankan query dibawah ini.

INSERT INTO pengguna(nama, umur, tanggal_lahir, jenis_kelamin) VALUES
('Aris Munandar', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Aditya', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Budi Santoso', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Ramdhoni', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Ahmad', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Iqbal Iskandar', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Sofia', 26, '1993-06-03 00:00:00', 'Perempuan'),
('Azzahra', 26, '1993-06-03 00:00:00', 'Perempuan'),
('Tony Stark', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Peter Parker', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Jimmy Neutron', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Rudy Tabootie', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Hey Arnold', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Gerald', 26, '1993-06-03 00:00:00', 'Lelaki'),
('Spongebob', 26, '1993-06-03 00:00:00', 'Lelaki');

Jika sudah, maka silakan cek didalam tabel tersebut ada 15 data pengguna dimana kita akan membaginya menjadi 3 kelompok sehingga data yang akan ditampilkan masing-masing adalah 5 baris data, seperti tujuan tutorial membuat pagination codeigniter dengan bootstrap ini.

Setelah langkah-langkah pembuatan database selesai maka selanjutnya melakukan beberapa konfigurasi database dan codeigniter.

Buka file /application/config/config.php

Lalu ubah bagian berikut:

$config['base_url'] = '';
$config['encryption_key'] = '';
$config['sess_save_path'] = NULL;Code language: PHP (php)

Menjadi

$config['base_url'] = 'url_aplikasi_anda';
$config['encryption_key'] = 'key123';
$config['sess_save_path'] = sys_get_temp_dir();
Code language: PHP (php)

Pada bagian url_aplikasi_anda silahkan ubah sesuai dengan URL yang anda gunakan, sebagai contoh http://localhost/codeigniter

Selanjutnya menyiapkan autoload, buka file /application/config/autload.php, lalu ubahlah kode dibawah ini:

$autoload['libraries'] = array();
$autoload['helper'] = array();Code language: PHP (php)

Menjadi

$autoload['libraries'] = array('database', 'session', 'pagination');
$autoload['helper'] = array('url');Code language: PHP (php)

Setelah itu kita perlu mengatur koneksi database dengan framework php codeigniter, caranya buka lah file /application/config/database.php

Lalu ubah parameter berikut sesuai dengan akun database local anda:

'hostname' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'tutorial_pagination_codeigniter',Code language: PHP (php)

Jika sudah maka seharusnya database dengan framework codeigniter sudah terkoneksi dengan benar.

Memulai Pembuatan Pagination Codeigniter

Setelah langkah-langkah konfigurasi diatas sudah dilakukan dan tidak ada masalah maka selanjutnya kita akan memulai pembuatan pagination codeigniter.

Pertama buatlah sebuah model dengan nama Pagination_model.php lalu simpan di folder /application/models setelah itu masukan kode dibawah ini.

<?php defined('BASEPATH') OR exit ('No direct script access allowed');

class Pagination_model extends CI_Model {

     public function getAll()
     {
          $this->db->select('*');
          $this->db->from('pengguna');
          $this->db->order_by('id', 'ASC');

          return $this->db->get();
     }

}Code language: HTML, XML (xml)

Jika sudah maka selanjutnya buatlah sebuah controller dengan nama Pagination.php lalu simpan di folder /application/controllers setelah itu masukan kode dibawah ini.

<?php defined('BASEPATH') OR exit ('No direct script access allowed');

class Pagination extends CI_Controller {

     public function __construct()
     {
          parent::__construct();
          $this->load->model('pagination_model');
     }
     public function index()
     {
          $data['semua_pengguna'] = $this->pagination_model->getAll()->result();

          $this->load->view('pagination', $data);
     }

}Code language: HTML, XML (xml)

Selanjutnya membuat bagian tampilannya, buatlah sebuah file bernama pagination.php lalu simpan di /application/views setelah itu masukan kode dibawah ini.

<!DOCTYPE html>
<html>
<head>
     <title>Tutorial Pagination Codeigniter</title>
</head>
<body>
     <table border="1" cellspacing="0" cellpadding="5">
          <thead>
               <tr>
                    <th>Nama</th>
                    <th>Jenis Kelamin</th>
                    <th>Tanggal Lahir</th>
                    <th>Umur</th>
               </tr>
          </thead>
          <tbody>
               <?php foreach($semua_pengguna as $pengguna): ?>
                    <tr>
                         <td><?php echo $pengguna->nama; ?></td>
                         <td><?php echo $pengguna->jenis_kelamin; ?></td>
                         <td><?php echo date('j F Y', strtotime($pengguna->tanggal_lahir)); ?></td>
                         <td><?php echo $pengguna->umur; ?></td>
                    </tr>
               <?php endforeach; ?>
          </tbody>
     </table>
</body>
</html>Code language: HTML, XML (xml)

Jika semua sudah tersimpan selanjutnya kita perlu mengatur halaman utama codeigniter, yaitu merubah tampilan welcome menjadi tampilan tabel data yang kita ambil dari tabel pengguna yang tadi kita telah buat, caranya sebagai berikut.

Buka file routes.php yang berada di dalam folder /application/config, lalu ubahlah kode dibawah ini.

$route['default_controller'] = 'welcome';Code language: PHP (php)

Menjadi

$route['default_controller'] = 'pagination';Code language: PHP (php)

Setelah itu simpan, dan refresh halaman utama codeigniter anda, kalau sudah betul maka seharusnya akan menampilkan halaman seperti gambar dibawah ini.

tutorial pagination codeigniter

Seperti yang terlihat bahwa halaman tersebut belum ada pagination codeigniter, nah secara skenarionya kita akan membagi 5 blok dari 15 data yang tersedia, berikut ini caranya.

Buka kembali file Pagination_model.php yang ada di folder /application/models lalu tambahkan kode dibawah ini tepat dibawah method getAll().

public function getDataPagination($limit, $offset)
{
     $this->db->select('*');
     $this->db->from('pengguna');
     $this->db->order_by('id', 'ASC');
     $this->db->limit($limit, $offset);

     return $this->db->get();
}Code language: PHP (php)

Jika sudah disimpan selanjutnya buka kita ubah bagian controller, buka kembali file Pagination.php yang ada di folder /application/controllers lalu ubahlah bagian index() menjadi kode dibawah ini.

public function index($num = '')
{
     $perpage = 5;
     $offset = $this->uri->segment(1);
     $data['semua_pengguna'] = $this->pagination_model->getDataPagination($perpage, $offset)->result();

     $config['base_url'] = site_url();
     $config['total_rows'] = $this->pagination_model->getAll()->num_rows();
     $config['per_page'] = $perpage;
     $this->pagination->initialize($config);

     $this->load->view('pagination', $data);
}Code language: PHP (php)

Pada bagian tampilan, kita akan sedikit merubah, yaitu untuk menampilkan baris nomor blok data, caranya buka file pagination.php yang ada di folder /application/views lalu tambahkan kode dibawah ini tepat dibawah tag </table>.

<?php echo $this->pagination->create_links(); ?>Code language: HTML, XML (xml)

Dan yang terakhir kita sedikit tambahkan kode dibagian route, buka kembali file routes.php yang ada di folder /application/config lalu tambahkan kode dibawah ini tepat berada dibawah default_controller.

$route['(:any)'] = 'pagination/index/$1';Code language: PHP (php)

Jika sudah selesai silakan refresh kembali halaman codeigniter di browser, jika tidak ada masalah seharusnya akan tampil pagination codeigniter yang kita buat tadi.

pagination codeigniter

Dari gambar diatas terlihat dibagian bawah tabel ada barisan angka, barisan angka tersebut adalah pagination blok data, silakan anda test, jika berhasil maka seharusnya didalam tabel tersebut akan tampil data-data berikutnya sesuai dengan urutan yang aktif.

Implementasi Pagination Codeigniter Dengan Bootstrap

Selanjutnya pada bagian ini kita akan mengimplementasikan pagination codeigniter dengan bootstrap, bootstrap yang saya gunakan adalah bootstrap versi 3.4.1 dengan menggunakan CDN sehingga kita tidak perlu mengunduh file bootstrap.

Yang pertama yang harus kita perhatikan adalah penggunaan tag HTML antara tag pagination standar codeigniter dengan tag pagination bootstrap, dimana kita akan meng-custom kode standar codeigniter menjadi pagination bootstrap, berikut ini perbedaan antara kode html pagination codeigniter dengan pagination bootstrap.

Terlihat bahwa yang standar tentu biasa saja ketimbang style yang di gunakan oleh bootstrap, terlihat lebih kompleks dan dari segi tampilan tentunya lebih bagus.

Mari kita mulai, bukalah file pagination.php yang berada di folder /application/views lalu ubah seluruh kode yang ada didalam file tersebut menjadi kode dibawah ini.

<!DOCTYPE html>
<html>
<head>
     <title>Tutorial Pagination Codeigniter</title>
     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
     <style type="text/css">
          body {
               margin-top: 20px;
          }
     </style>
</head>
<body>
     <div class="row">
          <div class="col-md-offset-2 col-md-8">
               <table class="table table-bordered" border="1" cellspacing="0" cellpadding="5">
                    <thead>
                         <tr>
                              <th>Nama</th>
                              <th>Jenis Kelamin</th>
                              <th>Tanggal Lahir</th>
                              <th>Umur</th>
                         </tr>
                    </thead>
                    <tbody>
                         <?php foreach($semua_pengguna as $pengguna): ?>
                              <tr>
                                   <td><?php echo $pengguna->nama; ?></td>
                                   <td><?php echo $pengguna->jenis_kelamin; ?></td>
                                   <td><?php echo date('j F Y', strtotime($pengguna->tanggal_lahir)); ?></td>
                                   <td><?php echo $pengguna->umur; ?></td>
                              </tr>
                         <?php endforeach; ?>
                    </tbody>
               </table>
               <nav aria-label="Page navigation">
                    <?php echo $this->pagination->create_links(); ?>
               </nav>
          </div>
     </div>
</body>
</html>Code language: HTML, XML (xml)

Dari kode diatas jika dilihat kita akan menggunakan style CSS dari bootstrap dengan menggunakan layanan CDN yang telah disediakan oleh bootstrap, jika di refresh maka bentuk tabel akan berubah, dimana penulis telah menambahkan class bootstrap untuk bagian tabel.

Selanjutnya buka file Pagination.php yang berada di folder /application/controllers, nah pada bagian inilah nantinya codeigniter akan generate html sesuai dengan format kode html yang ada di pagination bootstrap.

Perhatikan baris kode $config['per_page'] di dalam method index() yang berada di file Pagination.php tersebut, tambahkan kode dibawah ini tepat dibagian bawah baris kode $config['per_page'] tersebut.

$config['next_link'] = 'Selanjutnya';
$config['prev_link'] = 'Sebelumnya';
$config['first_link'] = 'Awal';
$config['last_link'] = 'Akhir';
$config['full_tag_open'] = '<ul class="pagination">';
$config['full_tag_close'] = '</ul>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['prev_tag_open'] = '<li>';
$config['prev_tag_close'] = '</li>';
$config['next_tag_open'] = '<li>';
$config['next_tag_close'] = '</li>';
$config['last_tag_open'] = '<li>';
$config['last_tag_close'] = '</li>';
$config['first_tag_open'] = '<li>';
$config['first_tag_close'] = '</li>';Code language: PHP (php)

Jika sudah maka simpan file tersebut, sebelum melakukan testing saya akan menjelaskan sedikit fungsi kode diatas, kode-kode diatas berguna untuk mengubah tag pembuka dan tag penutup kode html pagination codeigniter standar sesuai dengan yang kita inginkan termasuk teks pada bagian Selanjutnya dan Sebelumnya, kita dapat meng-custom sesuai dengan keinginan.

Silakan refresh halaman pagination codeigniter di browser anda, seharusnya akan tampil seperti gambar dibawah ini.

membuat pagination codeigniter dengan bootstrap

Sampai disini tutorial kita telah selesai, untuk implementasi pagination codeigniter dengan bootstrap 4 penulis menyarankan pembaca untuk mengimplementasinya sendiri sesuai dengan tutorial yang telah dibuat ini, sehingga pembaca dapat mengasah kemampuan codeigniter sendiri. Jika ada pertanyaan silakan tulis komentar dibawah ini.

2 Comments

prayogi

prayogi

sorry , mas kayaknya ada typo hasil copyan deh. $config['last_tag_open'] = ''; $config['last_tag_open'] = ''; -> harusnya close $config['first_tag_open'] = ''; $config['first_tag_open'] = ''; -> harusnya close
Reply #2082
Aris Munandar

Aris Munandar

@prayogi
oh iya mohon maaf ada keliru.. terima kasih atas koreksinya.
Reply #2083

Leave comment

Alamat email Anda tidak akan dipublikasikan. Required fields are marked *

news-1701

sabung ayam online

yakinjp

yakinjp

rtp yakinjp

slot thailand

yakinjp

yakinjp

yakin jp

yakinjp id

maujp

maujp

maujp

maujp

sabung ayam online

sabung ayam online

judi bola online

sabung ayam online

judi bola online

slot mahjong ways

slot mahjong

sabung ayam online

judi bola

live casino

sabung ayam online

judi bola

live casino

SGP Pools

slot mahjong

sabung ayam online

slot mahjong

SLOT THAILAND

cuaca 228000566

cuaca 228000567

cuaca 228000568

cuaca 228000569

cuaca 228000570

cuaca 228000571

cuaca 228000572

cuaca 228000573

cuaca 228000574

cuaca 228000575

cuaca 228000576

cuaca 228000577

cuaca 228000578

cuaca 228000579

cuaca 228000580

cuaca 228000581

cuaca 228000582

cuaca 228000583

cuaca 228000584

cuaca 228000585

cuaca 228000586

cuaca 228000587

cuaca 228000588

cuaca 228000589

cuaca 228000590

cuaca 228000591

cuaca 228000592

cuaca 228000593

cuaca 228000594

cuaca 228000595

cuaca 228000596

cuaca 228000597

cuaca 228000598

cuaca 228000599

cuaca 228000600

cuaca 228000601

cuaca 228000602

cuaca 228000603

cuaca 228000604

cuaca 228000605

cuaca 228000606

cuaca 228000607

cuaca 228000608

cuaca 228000609

cuaca 228000610

cuaca 228000611

cuaca 228000612

cuaca 228000613

cuaca 228000614

cuaca 228000615

cuaca 228000616

cuaca 228000617

cuaca 228000618

cuaca 228000619

cuaca 228000620

cuaca 228000621

cuaca 228000622

cuaca 228000623

cuaca 228000624

cuaca 228000625

cuaca 228000626

cuaca 228000627

cuaca 228000628

cuaca 228000629

cuaca 228000630

info 328000511

info 328000512

info 328000513

info 328000514

info 328000515

info 328000516

info 328000517

info 328000518

info 328000519

info 328000520

info 328000521

info 328000522

info 328000523

info 328000524

info 328000525

info 328000526

info 328000527

info 328000528

info 328000529

info 328000530

info 328000531

info 328000532

info 328000533

info 328000534

info 328000535

info 328000536

info 328000537

info 328000538

info 328000539

info 328000540

info 328000541

info 328000542

info 328000543

info 328000544

info 328000545

info 328000546

info 328000547

info 328000548

info 328000549

info 328000550

berita 428009016

berita 428009617

berita 428010218

berita 428010819

berita 428011420

analisis rtp 428011421

manajemen modal 428011422

variabel rtp live 428011423

algoritma kasino 428011424

efisiensi rtp 428011425

distribusi scatter 428011426

respon rtp 428011427

volatilitas livecasino 428011428

data rtp sweetbonanza 428011429

algoritma scatter 428011430

metrik rtp 428011431

interface server 428011432

fluktuasi rtp 428011433

log historis 428011434

komparatif rtp 428011435

berita 428011421

berita 428011422

berita 428011423

berita 428011424

berita 428011425

berita 428011426

berita 428011427

berita 428011428

berita 428011429

berita 428011430

berita 428011431

berita 428011432

berita 428011433

berita 428011434

berita 428011435

berita 428011436

berita 428011437

berita 428011438

berita 428011439

berita 428011440

berita 428011441

berita 428011442

berita 428011443

berita 428011444

berita 428011445

berita 428011446

berita 428011447

berita 428011448

berita 428011449

berita 428011450

kajian 638000001

kajian 638000002

kajian 638000003

kajian 638000004

kajian 638000005

kajian 638000006

kajian 638000007

kajian 638000008

kajian 638000009

kajian 638000010

kajian 638000011

kajian 638000012

kajian 638000013

kajian 638000014

kajian 638000015

kajian 638000016

kajian 638000017

kajian 638000018

kajian 638000019

kajian 638000020

kajian 638000021

kajian 638000022

kajian 638000023

kajian 638000024

kajian 638000025

kajian 638000026

kajian 638000027

kajian 638000028

kajian 638000029

kajian 638000030

article 788000001

article 788000002

article 788000003

article 788000004

article 788000005

article 788000006

article 788000007

article 788000008

article 788000009

article 788000010

article 788000011

article 788000012

article 788000013

article 788000014

article 788000015

news-1701
news-1701

sabung ayam online

yakinjp

yakinjp

rtp yakinjp

slot thailand

yakinjp

yakinjp

yakin jp

yakinjp id

maujp

maujp

maujp

maujp

sabung ayam online

sabung ayam online

judi bola online

sabung ayam online

judi bola online

slot mahjong ways

slot mahjong

sabung ayam online

judi bola

live casino

sabung ayam online

judi bola

live casino

SGP Pools

slot mahjong

sabung ayam online

slot mahjong

SLOT THAILAND

cuaca 228000566

cuaca 228000567

cuaca 228000568

cuaca 228000569

cuaca 228000570

cuaca 228000571

cuaca 228000572

cuaca 228000573

cuaca 228000574

cuaca 228000575

cuaca 228000576

cuaca 228000577

cuaca 228000578

cuaca 228000579

cuaca 228000580

cuaca 228000581

cuaca 228000582

cuaca 228000583

cuaca 228000584

cuaca 228000585

cuaca 228000586

cuaca 228000587

cuaca 228000588

cuaca 228000589

cuaca 228000590

cuaca 228000591

cuaca 228000592

cuaca 228000593

cuaca 228000594

cuaca 228000595

cuaca 228000596

cuaca 228000597

cuaca 228000598

cuaca 228000599

cuaca 228000600

cuaca 228000601

cuaca 228000602

cuaca 228000603

cuaca 228000604

cuaca 228000605

cuaca 228000606

cuaca 228000607

cuaca 228000608

cuaca 228000609

cuaca 228000610

cuaca 228000611

cuaca 228000612

cuaca 228000613

cuaca 228000614

cuaca 228000615

cuaca 228000616

cuaca 228000617

cuaca 228000618

cuaca 228000619

cuaca 228000620

cuaca 228000621

cuaca 228000622

cuaca 228000623

cuaca 228000624

cuaca 228000625

cuaca 228000626

cuaca 228000627

cuaca 228000628

cuaca 228000629

cuaca 228000630

info 328000511

info 328000512

info 328000513

info 328000514

info 328000515

info 328000516

info 328000517

info 328000518

info 328000519

info 328000520

info 328000521

info 328000522

info 328000523

info 328000524

info 328000525

info 328000526

info 328000527

info 328000528

info 328000529

info 328000530

info 328000531

info 328000532

info 328000533

info 328000534

info 328000535

info 328000536

info 328000537

info 328000538

info 328000539

info 328000540

info 328000541

info 328000542

info 328000543

info 328000544

info 328000545

info 328000546

info 328000547

info 328000548

info 328000549

info 328000550

berita 428009016

berita 428009617

berita 428010218

berita 428010819

berita 428011420

analisis rtp 428011421

manajemen modal 428011422

variabel rtp live 428011423

algoritma kasino 428011424

efisiensi rtp 428011425

distribusi scatter 428011426

respon rtp 428011427

volatilitas livecasino 428011428

data rtp sweetbonanza 428011429

algoritma scatter 428011430

metrik rtp 428011431

interface server 428011432

fluktuasi rtp 428011433

log historis 428011434

komparatif rtp 428011435

berita 428011421

berita 428011422

berita 428011423

berita 428011424

berita 428011425

berita 428011426

berita 428011427

berita 428011428

berita 428011429

berita 428011430

berita 428011431

berita 428011432

berita 428011433

berita 428011434

berita 428011435

berita 428011436

berita 428011437

berita 428011438

berita 428011439

berita 428011440

berita 428011441

berita 428011442

berita 428011443

berita 428011444

berita 428011445

berita 428011446

berita 428011447

berita 428011448

berita 428011449

berita 428011450

kajian 638000001

kajian 638000002

kajian 638000003

kajian 638000004

kajian 638000005

kajian 638000006

kajian 638000007

kajian 638000008

kajian 638000009

kajian 638000010

kajian 638000011

kajian 638000012

kajian 638000013

kajian 638000014

kajian 638000015

kajian 638000016

kajian 638000017

kajian 638000018

kajian 638000019

kajian 638000020

kajian 638000021

kajian 638000022

kajian 638000023

kajian 638000024

kajian 638000025

kajian 638000026

kajian 638000027

kajian 638000028

kajian 638000029

kajian 638000030

article 788000001

article 788000002

article 788000003

article 788000004

article 788000005

article 788000006

article 788000007

article 788000008

article 788000009

article 788000010

article 788000011

article 788000012

article 788000013

article 788000014

article 788000015

news-1701