我正在开发一个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