codeigniter分页链接中的动态行数

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

我正在从事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);
$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。对这两种方法进行了说明