我正在開發一個php項目,可能會有很多用戶。從管理的角度來看,我試圖顯示一個包含每個用戶信息的表格,並且看到用戶表格可能變得非常大,我想使用分頁。如何實現分頁html php mysql
在後端,我創建了一個希望限制,將用於在適當的範圍內查詢記錄數據庫中的偏移參數的服務。該服務返回表中的總記錄數,隨着記錄與查詢匹配的
public static function getUsersInfo($limit = 50, $offset=1) { $users_count = Users::count( array( "column" => "user_id" ) ); $users_info = array(); $users = Users::query() ->order('created_at') ->limit($limit, $offset) ->execute() ->toArray(); foreach ($users as $index => $user) { $users_info[$index]['user_id'] = $user['user_id']; $users_info[$index]['name'] = $user['first_name'] . " " . $user['last_name']; $users_info[$index] ['phone'] = $user['phone']; $users_info[$index] ['profile_image_url'] = $user['profile_image_url']; } $results = array( 'users_count' => $users_count, 'users_info' => $users_info ); return !empty($results) ? $results : false; }
在前端,我想實現理想情況下,在表的底部都顯示的導航,帶有典型的上一個,下一個按鈕以及一些數字,用戶可以在顯示頁碼時快速導航到所需的頁面。這是我迄今爲止的UsersController,沒有分頁。
class UsersController extends ControllerBase { public function indexAction() { $usersObject = new Users(); $data = $usersObject->getUsers(); if ($data['status'] == Constants::SUCCESS) { $users = $data['data']['users_info']; $users_count = $data['data']['users_count']; $this->view->setVar('users', $users); } echo $this->view->render('admin/users'); } public function getUsersAction() { echo Pagination::create_links(15, 5, 1); } }
我沒有任何工作分頁,但我在想一個好辦法去將創建一個Pagination
庫與create_links
函數,它的
total_count
的記錄,所以我知道預計有多少頁面limit
所以我知道要收集多少條記錄cur_page
所以我知道從何處開始
所以,當調用該函數使用正確的參數檢索,它會生成HTML代碼來實現分頁,而這又可以被傳遞到視圖和顯示。
我從來沒有這樣做過,但從迄今爲止所做的研究來看,似乎這可能是一種很好的方法來處理它。任何指導,建議,或任何真的,對此將不勝感激。
google:http://code.tutsplus.com/tutorials/how-to-paginate-data-with-php--net-2928 – 2016-04-03 19:10:47
向我們展示一些代碼。 – sensation