codeigniter分页链接中的动态行数
我正在从事Codeigniter(Gocart)项目。我被一项任务困住了,我需要你的帮助 我想显示选择每页记录数的选项。默认情况下,控制器索引操作如下codeigniter分页链接中的动态行数,codeigniter,pagination,Codeigniter,Pagination,我正在从事Codeigniter(Gocart)项目。我被一项任务困住了,我需要你的帮助 我想显示选择每页记录数的选项。默认情况下,控制器索引操作如下 function index($order_by="id", $sort_order="DESC", $code=0, $page=0, $rows=15) 我在视图中有行数的下拉列表 然后在控制器中我写了一个条件 if(isset($_REQUEST['num_rows'])){ $rows = $_REQUE
function index($order_by="id", $sort_order="DESC", $code=0, $page=0, $rows=15)
我在视图中有行数的下拉列表
然后在控制器中我写了一个条件
if(isset($_REQUEST['num_rows'])){
$rows = $_REQUEST['num_rows'];
}
else{
$rows = $rows;
}
这是控制器的codeigniter分页代码
$this->load->library('pagination');
$config['base_url'] = site_url($this->config->item('admin_folder').'/products/index/'.$order_by.'/'.$sort_order.'/'.$code);
$config['total_rows'] = $data['total'];
$config['per_page'] = $rows;
$config['uri_segment'] = 7;
$config['first_link'] = 'First';
$config['first_tag_open'] = '<li>';
$config['first_tag_close'] = '</li>';
$config['last_link'] = 'Last';
$config['last_tag_open'] = '<li>';
$config['last_tag_close'] = '</li>';
$config['full_tag_open'] = '<div class="pagination"><ul>';
$config['full_tag_close'] = '</ul></div>';
$config['cur_tag_open'] = '<li class="active"><a href="#">';
$config['cur_tag_close'] = '</a></li>';
$config['num_tag_open'] = '<li>';
$config['num_tag_close'] = '</li>';
$config['prev_link'] = '«';
$config['prev_tag_open'] = '<li>';
$config['prev_tag_close'] = '</li>';
$config['next_link'] = '»';
$config['next_tag_open'] = '<li>';
$config['next_tag_close'] = '</li>';
$this->pagination->initialize($config);
$this->load->library('pagination');
$config['base_url']=site_url($this->config->item('admin_folder')。/products/index/'.$order_by./'.$sort_order./'.$code);
$config['total_rows']=$data['total'];
$config['per_page']=$rows;
$config['uri_段]]=7;
$config['first_link']='first';
$config['first_tag_open']='';
$config['first_tag_close']=' ;
$config['last_link']='last';
$config['last_tag_open']='';
$config['last_tag_close']=' ;
$config['full_tag_open']='';
$config['full_tag_close']='
';
$config['cur_tag_open']=';
$config['num_tag_open']='';
$config['num_tag_close']=' ;
$config['prev_link']='laquo;';
$config['prev_tag_open']='';
$config['prev_tag_close']=' ;
$config['next_link']='»;';
$config['next_tag_open']='';
$config['next_tag_close']=' ;
$this->pagination->initialize($config);
以及
<?php echo $this->pagination->create_links();?>
现在,我将如何将分页链接的行数设置为动态。我希望您了解我的问题。首先,这应该可以做到:
if(isset($_REQUEST['num_rows'])){
$rows = $_REQUEST['num_rows'];
}
这里实际上不需要Else条件,因为您正在为自身分配$rows
除此之外,出于安全原因,CodeIgniter清除$\u请求变量。所以我相信如果条件总是错误的。除非您在配置文件中将“global_xss_filtering”变量设置为true
您还可以使用$this->input->get('num_rows')
或$this->input->post('num_rows')
,具体取决于您使用的方法
其他一切对我来说似乎都没问题。不,这不行。请阅读我的问题。第一次它会起作用,因为我们可以通过表单传递页面值,但当我们单击分页链接时,如何重新发送该值。由于我们只使用@bhugneshgupta,您可以将
$config['page\u query\u string']
设置为true。它会将段更改为查询字符串,并自动将每页的添加到其中。或者,如果您想保留段,只需在添加其他段时在基本url中添加$rows
。分页链接基于基本url。对这两种方法进行了说明