Friday, November 29, 2013

Paggination (Codeigniter)

Paggination ? ya sekarang saya akan membahas paggination. secara konsep sebetulnya sama saja dengan PHP biasa, hanya di CI telah disediakan library dan intinya lebih memudahkan kita. langsung saja borr.

buat database terlebih dahulu

create database latihan;

use latihan;

lalu buat table galerinya,

CREATE TABLE IF NOT EXISTS `galeri` (
  `id` int(3) NOT NULL AUTO_INCREMENT,
  `foto` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


sekarang waktunya konfigurasi database dan autoload.

buka file database.php pada folder application/config/database.php



    $db['default']['hostname'] = 'localhost';


      $db['default']['username'] = 'root';


        $db['default']['password'] = '';


          $db['default']['database'] = 'latihan';


            $db['default']['dbdriver'] = 'mysql';





            lalu buka file autoload.php pada folder application/config/autoload.php, cari baris kode berikut

            $autoload['libraries'] = array('');

            ubah menjadi

            $autoload['libraries'] = array('database');

            lalu cari kode

            $autoload['helper'] = array('');

            ubah menjadi

            $autoload['helper'] = array('url','file','html','form');


            setelah itu siapkan modelnya, berikut modelnya

            galeri_model.php


            1. <?php

            2. class galeri_model extends CI_Model{
            3. function view($table,$limit="", $start=""){
            4. if(!empty($limit) || !empty($start)){
            5. $q = "LIMIT $start,$limit";
            6. }
            7. $query=$this->db->query("select * from $table $q")->result();
            8. return $query;
            9. }

            10. function hitung($table) {
            11. return $this->db->count_all("$table");
            12. }
            13. }

            simpan pada folder application/models, lalu buat controllernya.

            galeri.php

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

            class Galeri extends CI_Controller {


            public function index()
            {
            $this->load->model('galeri_model');
                  $this->load->library('pagination');
                   
                       $config = array();
                            $config["base_url"] = base_url() . "galeri/index";
                            $config["total_rows"] = $this->galeri_model->hitung("galeri");
                            $config["per_page"] = 1;
                            $config["uri_segment"] = 3;
                            
                           

                            $this->pagination->initialize($config);
                            $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
                     
                            $data["links"] = $this->pagination->create_links();  
                            $data['view']=$this->galeri_model->view("galeri",$config["per_page"], $page);
               
                            $this->load->view('view', $data);
                        
                   
                     
            }

            }

            $config["per_page"] = 1; maksudnya, kita menampilkan berapa data pada setiap halaman. simpan file tersebut pada folder application/controllers. lalu buat viewnya

            view.php


            1. <div >
            2. <table >
            3.     <tr>
            4.         <td>Foto</td>
            5.     </tr>
            6.     
            7.     <?php
            8.         foreach($view as $data){
            9.          ?>
            10.              <tr>
            11.         <td><?php echo $data->foto?></td>
            12.     </tr>
            13.     
            14.         <?php
            15.         }
            16.     ?>
            17. </table>
            18. </div>

            19. </div>
            20. </div>
            21. </div>

            22. <?php if( ! empty($links)){ echo $links; } ?>
            simpan pada folder application/views. yap sudah segitu bahasan mengenai paggination, semoga bermanfaat, jika masih kurang mengerti sila



                            

            No comments:

            Post a Comment