Senin, 28 Februari 2022

Codeigneter Paging Where

 Misal kita kerja pada halaman menu sbb:
http://localhost/apps/index.php/welcome/beritarb

Artinya...controller kerja kita ada di welcome.php

pada Construct tambahkan:

 $this->load->library("pagination");

$this->load->helper(array('url'));


berdasarkan link kerja di atas, beritarb adalah submenu yang dituju,,,

pada sub-bagian / method/ void welcome/beritarb tambahkan:

public function beritarb() {
$kat="Reformasi Birokrasi";
$jumlah_data = $this->berita_model->jumlah_data($kat);
$this->load->library('pagination');
$config['base_url'] = base_url().'index.php/welcome/beritarb';
$config['total_rows'] = $jumlah_data;
                
                $config['full_tag_open'] = '<div class="pagination">';
$config['full_tag_close'] = '</div>';

$config['per_page'] = 10; //artinya setiap kelipatan 10 akan pindah halaman
$from = $this->uri->segment(3);  //posisi path link
$this->pagination->initialize($config);
$data['listberita'] = $this->berita_model->AmbilData($config['per_page'],$from,$kat);
$this->load->view('beritarb',$data);

}

lalu pada berita_model tambahkan method (JumlahData(kategori) dan AmbilData(number,offset,kategori))

function AmbilData($number,$offset,$kategori){
return $this->db->get_where($this->_table, array('kategori' => $kategori), $number,$offset)->result();
}
 
function JumlahData($kategori){
return $this->db->get_where($this->_table, ["kategori" => $kategori])->num_rows();
}


lalu pada interface (beritarb.php) masukkan css:

<style type="text/css">
.pagination {
display: flex;
padding: 1em 0;
}

.pagination a,
.pagination strong {
border: 1px solid silver;
border-radius: 8px;
color: black;
padding: 0.5em;
margin-right: 0.5em;
text-decoration: none;
}

.pagination a:hover,
.pagination strong {
border: 1px solid #008cba;
background-color: #008cba;
color: white;
}
</style>



NB: bagi yang tanpa kategori:

function AmbilData($number,$offset){
return $this->db->get($this->_table, $number,$offset)->result();
}
 
function JumlahData(){
return $this->db->get($this->_table)->num_rows();
}






Tidak ada komentar:

Posting Komentar

global_priv WARNING Selalu

 Jika muncul pesan kesalahan: Warning in .\libraries\classes\Dbal\DbiMysqli.php#209  mysqli::query(): (HY000/1034): Index for table 'glo...