我有有效的分页功能。我已将限制设置为每页 5 条记录,但我希望用户能够根据需要进行更改。问题是我不知道该怎么做。
在视图中,我创建了下拉菜单,因此用户可以选择他想要每页查看多少条记录:
<ul class="dropdown-menu">
<li>
<a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers" id="2" class="pPage" data-tableid="smpl_tbl">
2 records per page
</a>
</li>
<li>
<a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers" id ="50" class="pPage" data-tableid="smpl_tbl">
50 records per page
</a>
</li>
<li><a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers" id="100" class="pPage" data-tableid="smpl_tbl">
100 records per page
</a>
</li>
<li>
<a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers" id="all" class="pPage" data-tableid="smpl_tbl">
Display all records
</a>
</li>
</ul>
在我的控制器中,我有以下代码:
public function displayAllUsers()
{
$recordsPerPage = 5;
$limit = $recordsPerPage;
$offset = 3;
$offset = $this->uri->segment(3);
$this->db->limit($limit, $offset);
$data['users'] = $this->backOfficeUsersModel->get();
$totalresults = $this->db->get('back_office_users')->num_rows();
//initializing & configuring paging
$this->load->library('pagination');
$config['base_url'] = site_url('/backOfficeUsers/displayAllUsers');
$config['total_rows'] = $totalresults;
$config['per_page'] = $limit;
$config['uri_segment'] = 3;
$config['full_tag_open'] = '<div class="dataTables_paginate paging_bootstrap pagination"><ul>';
$config['full_tag_close'] = '</ul></div>';
$config['cur_tag_open'] = '<li><a href=# style="color:#ffffff; background-color:#258BB5;">';
$config['cur_tag_close'] = '</a></li>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$this->pagination->initialize($config);
$data['main_content'] = 'bousers/users';
$data['title'] = 'Back Office Users';
$errorMessage = FALSE;
$this->load->vars($data,$errorMessage);
$this->load->vars($currentUser);
$this->load->view('backOffice/template');
} // end of function displayAllUsers
谁能告诉我如何显示用户从下拉菜单中选择的记录数?如果他不选择任何内容,我想默认显示 5 条记录。
任何帮助将不胜感激。
问候,佐兰
你不应该像那样下拉..试试这个
View
echo form_open('controller/displayAllUsers');
$options = array(
'' => 'Select',
'2' => '2',
'50' => '50',
'100' => '100');
echo form_dropdown('sel',$options,'');
echo form_submit('submit',Submit);
控制器
if(isset($post['sel']) && !empty($post['sel']))
$config['per_page'] = $post['sel'];
else
$config['per_page'] = 5;
并且不要忘记加载表单助手在这样做之前..或者你可以给出正统的htmlselect
box
EDIT:
(其他方式)
View:
<ul class="dropdown-menu">
<li>
<a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers/2" class="pPage" data-tableid="smpl_tbl">
2 records per page
</a>
</li>
<li>
<a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers/50" class="pPage" data-tableid="smpl_tbl">
50 records per page
</a>
</li>
<li><a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers/100" class="pPage" data-tableid="smpl_tbl">
100 records per page
</a>
</li>
<li>
<a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers" id="all" class="pPage" data-tableid="smpl_tbl">
Display all records
</a>
</li>
控制器:
public function displayAllUsers()
{
$currentUser = $this->isLoggedIn();
$this->load->model('backOfficeUsersModel');
$this->db->order_by('userid');
//$recordsPerPage = 5;
//$limit = $recordsPerPage;
if ($this->uri->segment(3) !="") {
$limit = $this->uri->segment(3);
} else {
$limit = 5;
}
$offset = 4;
$offset = $this->uri->segment(4);
$this->db->limit($limit, $offset);
$data['users'] = $this->backOfficeUsersModel->get();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)