我正在开发Codeigniter(Gocart)项目。我遇到了一项任务,我需要你的帮助。
我想显示选择每页的记录数。默认控制器索引操作如下
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);
并在视野中
<?php echo $this->pagination->create_links();?>
现在我如何为分页链接设置动态行数。我希望你有我的问题
答案 0 :(得分:0)
首先,这应该可以解决问题:
if(isset($_REQUEST['num_rows'])){
$rows = $_REQUEST['num_rows'];
}
此处并不需要其他条件,因为您要为自己分配$行。
除此之外,CodeIgniter出于安全原因清除$ _REQUEST变量。所以我认为IF条件总是错误的。除非您在配置文件中将'global_xss_filtering'变量设置为true。
您还可以使用$this->input->get('num_rows')
或$this->input->post('num_rows')
,具体取决于您使用的方法。
其他一切对我来说似乎都没问题。