欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php ci分頁

林國瑞1年前11瀏覽0評論
php是目前非常流行的一種編程語言,而ci則是php框架中一個非常實用的應用。隨著互聯網的快速發展,網站上的數據量也越來越大,使得網頁的加載速度變得十分緩慢。而ci分頁則是解決這一問題的重要手段之一。下面我們就來說說php ci分頁。 在講解ci分頁之前,先看下面一段代碼: ``` $sql = "SELECT * FROM user"; $res = mysqli_query($sql); $total = mysqli_num_rows($res); $per = 10; $page = isset($_GET['page']) ? intval($_GET['page']) : 1; if ($page< 1) { $page = 1; } $offset = $per * ($page - 1); $sql = "SELECT * FROM user LIMIT $offset, $per"; $res = mysqli_query($sql); while ($row = mysqli_fetch_array($res)) { // output user rows } ``` 上述代碼是一個簡單的PHP實現分頁的方法,可以看出實現分頁的過程會使代碼變得十分冗長。而ci則可以簡化這一過程。 首先,在CI中,需要在模型(Model)中進行數據查詢。如下所示: ``` public function getUsers($limit, $offset) { $this->db->from('user'); $this->db->limit($limit, $offset); $query = $this->db->get(); $result = $query->result_array(); return $result; } ``` 這個函數將限制從數據庫中選擇的選項,從名稱"user"的表中選擇$limit個用戶,并為第$offset個用戶開始選擇。最后將結果轉化為數組并返回。 而在控制器(Controller)中,需要調用此函數,并將返回的結果返回給模板(Template)。如下所示: ``` public function index() { $this->load->model('user_model', 'user'); $limit = 10; $page = $this->input->get('page') >0 ? $this->input->get('page') : 1; $offset = ($page - 1) * $limit; $data['users'] = $this->user->getUsers($limit, $offset); $this->load->library('pagination'); $config['base_url'] = base_url('user/index'); $config['total_rows'] = $this->user->totalUsers(); $config['per_page'] = $limit; $config['num_links'] = 2; $config['use_page_numbers'] = TRUE; $config['page_query_string'] = TRUE; $config['query_string_segment'] = 'page'; $this->pagination->initialize($config); $data['pagination'] = $this->pagination->create_links(); $this->load->view('user/index', $data); } ``` 在控制器中,需要首先載入模型,并聲明每頁需要顯示多少項,當前的頁數以及當前的偏移量。然后,將這些參數傳遞給我們在模型中創建的分頁器函數。在該函數的返回后,我們需要加載pagination庫,并使用配置數組來設置基本URL和總行數。此外,我們還需要設置每頁多少行,顯示的頁碼鏈接數目以及query_string_segment。 最后,在模板中,需要以類似于下面的方式顯示頁碼: `````` 在以上的模板中,pagination的值是控制器中通過create_links()函數設置的分頁HTML代碼。因此,通過將返回值分配到$data數組中,并在視圖文件中通過echo輸出。 綜上所述,ci分頁的實現十分簡單,并且可以大大地優化整個系統的性能。不僅可以減小服務器的負載,而且可以提高用戶體驗。在進行ci開發時,我們應該熟練地掌握使用分頁的技巧,以使我們的應用更加高效。