Halo Dumenity, selamat datang kembali di website tips dan trik Dumet School. Berjumpa kembali dengan saya pada pembahasan tips seputar dunia website,pada kesempatan kali ini saya akan memberikan tips tentang Membuat Pagination Detail Dengan Codeigniter dimana pada artikel kali ini kita akan membuat sebuah pagination detail. Jadi pada saat kita berada di halaman detail akan ada pagination prev dan next, prev akan tampil dengan title sebelumnya dan next juga akan tampil title sesudahnya data detail.
Baik langsung saja kita implementasikan Membuat Pagination Detail Dengan Codeigniter pertama – tama buat database nya dan buat table di dalamnya dengan field seperti gambar di bawah ini
Dan isikan datanya
Pada table nya saya memberikan nama post kemudian memiliki struktur dan isi datanya seperti gambar di atas ini , kemudian download codeigniter nya dan lakukan konfigurasi database sesuai dengan nama nya di file config/database.php
Kemudian buat controller dengan nama Blog.php dan berikan script di bawah ini
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Blog extends CI_Controller { public function __construct(){ parent:: __construct(); $this->load->database(); $this->load->helper(array('url')); } public function index() { $data['data'] = $this->db->get('post')->result(); $this->load->view('blog_view',$data); } }
Dan kita buat file di view/blog_view.php dan kita tampilkan datanya
<!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script> </head> <body> <div class="container"> <div class="row"> <div class="col"> <h1>Halaman Blog</h1> <?php foreach($data as $rows){ ?> <h2><?php echo ucwords($rows->title) ?></h2> <p><?php echo substr($rows->detail_post, 0,300).'...' ?></p> <a href="<?php echo site_url('blog/detail/').$rows->id; ?>" class="btn btn-primary">More >></a> <?php } ?> </div> </div> </div> </body> </html>
Maka akan tampil seperti gambar di bawah ini
Kemudian kita buat halaman detailnya, dan buat metod di dalam controller blog untuk menampilkan hasil dari klik button more
public function detail($id) { $data['data'] = $this->db->get_where('post',['id'=>$id])->row(); $this->load->view('detail_post',$data); }
Kemudian kita buat file detail_post.php pada viewnya dan tinggal kita tampilkan
<!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script> </head> <body> <div class="container"> <div class="row"> <div class="col"> <h1>Detail News</h1> <h2><?php echo $data->title ?></h2> <p><?php echo $data->detail_post ?></p> </div> </div> </div> </body> </html>
Maka akan tampil seperti gambar di bawah ini
Kemudian kita buat fitur pagination detailny, kita tambahkan proses ambil datanya masih di dalam metod detailnya
$data['prev'] = $this->db->query("SELECT * FROM post WHERE id < '$id' ORDER BY id DESC LIMIT 1")->row(); $data['next'] = $this->db->query("SELECT * FROM post WHERE id > '$id' ORDER BY id ASC LIMIT 1")->row();
Dan tinggal kita tampilkan pada halaman detail news nya
<?php if(isset($prev->id)){ ?> <a href="<?php echo site_url('blog/detail/'). $prev->id ?>" style="float: left;"><?php echo ucwords($prev->title) ?></a> <?php } ?> <?php if(isset($next->id)){ ?> <a href="<?php echo site_url('blog/detail/'). $next->id ?>" style="float: right;"><?php echo ucwords($next->title) ?></a> <?php } ?>
Jika sudah save dan refresh pada browsernya kemudian buka detail post nya, maka akan tampil pagination prev dan next tampil dari title sebelum dan sesudah detailnya.
Nah demikianlah tips cara Membuat Pagination Detail Dengan Codeigniter kita berjumpa kembali pada artikel selanjutnya. Terimakasih dan sampai jumpa, semoga bermanfaat.