Advertisement
lamhotsimamora

Model_Paging

Dec 8th, 2017
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.74 KB | None | 0 0
  1. <?php defined('sys_run_app') OR exit('403 You dont have permission to access / on this server...');
  2.  
  3.  
  4. /**
  5.  * Model Data User
  6.  */
  7. class Data_User extends elDB
  8. {
  9.  
  10.     public function getCountUser(){
  11.         $query = "select id_user from t_user";
  12.         $this->setQuery($query);
  13.         return $this->getCount();
  14.     }
  15.  
  16. }
  17.  
  18.  
  19. /**
  20.  * Contoh membuat paging di Garuda Framework Pro
  21.  * =================================================
  22.  * Langkah-langkah :
  23.  * - Menghitung total data
  24.  * - Memasukkan konfigurasi berupa
  25.  *   # start -> nomor halaman dari URL
  26.  *   # space -> jarak antar data yang akan ditampilkan
  27.  *   # query -> memasukkan query data yang akan dipaging
  28.  *   # count -> memasukkan total data
  29.  *   # next  -> memasukkan string untuk "Next"
  30.  *   # previous -> memasukkan string untuk "Previous"
  31.  *   # url      -> memasukkan URL paging
  32.  * - Mengambil semua data, menggunakan function getAllData();
  33.  * - Mengambil hasil link, menggunakan function getLink();
  34.  */
  35.  
  36. /**
  37.  * Contoh membuat paging di Garuda Framework Pro
  38.  * =================================================
  39.  * Langkah-langkah :
  40.  * - Menghitung total data
  41.  * - Memasukkan konfigurasi berupa
  42.  *   # start -> nomor halaman dari URL
  43.  *   # space -> jarak antar data yang akan ditampilkan
  44.  *   # query -> memasukkan query data yang akan dipaging
  45.  *   # count -> memasukkan total data
  46.  *   # next  -> memasukkan string untuk "Next"
  47.  *   # previous -> memasukkan string untuk "Previous"
  48.  *   # url      -> memasukkan URL paging
  49.  * - Mengambil semua data, menggunakan function getAllData();
  50.  * - Mengambil hasil link, menggunakan function getLink();
  51.  */
  52.  
  53. class Data_Paging extends Data_User
  54. {
  55.    private $setup;
  56.    
  57.    public function setSetup($v){
  58.      $this->setup = $v;
  59.    }
  60.    
  61.    public function getUserData()
  62.    {
  63.             /**
  64.              * langkah pertama, menghitung total data terlebih dahulu
  65.              */
  66.             $total_data = $this->getCountUser();
  67.  
  68.             /**
  69.              * Memasukkan Nomor Halaman
  70.              */
  71.             $config['start']   =  $this->setup['start'];
  72.  
  73.             /**
  74.              * Memasukkan jumlah data yang akan ditampilkan perhalaman
  75.              * Contoh, 10 Data
  76.              */
  77.             $config['space']   =  10;
  78.             $config['query']   =  'select * from t_user';
  79.        
  80.             $config['count']   =  $total_data;
  81.  
  82.            /**
  83.             * Array ini untuk membuat string "Sebelumnya", Jika tidak dimasukkan maka akan bernilai "Previous"
  84.             * $config['previous']     = 'Sebelumnya';
  85.             */
  86.            
  87.            /**
  88.             * Array ini untuk membuat string "Berikutnya", Jika tidak dimasukkan maka akan bernilai "Next"
  89.             * $config['next']     = 'Berikutnya';
  90.             */
  91.          
  92.             /**
  93.             * Array ini untuk memasukkan URL paging, Jika tidak dimasukkan maka akan bernilai URL current
  94.             * $config['url']     = "http://localhost/GF/user/id/";
  95.             */
  96.            
  97.             /**
  98.              * Membuat object baru
  99.              * @var GF_Query_Paging
  100.              */
  101.              $obj = new GF_Paging;
  102.  
  103.            /**
  104.             * Memasukkan array konfigurasi kedalam
  105.             * function setConfig()
  106.             */
  107.             $obj->setConfig($config);
  108.            
  109.             /**
  110.              *  $obj->getQuery() = Mengambil hasil query paging, untuk mengambil data
  111.              *  menggunakan function getAllData()
  112.              */
  113.             $this->setQuery($obj->getQuery());
  114.              
  115.             /**
  116.              * Mengembalikan hasil, kedalam array
  117.              */
  118.             return array(
  119.                 $this->getAllData(),
  120.                 $obj->getLink()
  121.           );
  122.     }
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement