codeigniter分页链接中的动态行数

时间:2013-11-22 09:07:08

标签: codeigniter pagination

我正在开发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']        = '&laquo;';
        $config['prev_tag_open']    = '<li>';
        $config['prev_tag_close']   = '</li>';

        $config['next_link']        = '&raquo;';
        $config['next_tag_open']    = '<li>';
        $config['next_tag_close']   = '</li>';

        $this->pagination->initialize($config);

并在视野中

<?php echo $this->pagination->create_links();?>

现在我如何为分页链接设置动态行数。我希望你有我的问题

1 个答案:

答案 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'),具体取决于您使用的方法。

其他一切对我来说似乎都没问题。