CodeIgniter:分页不允许我通过发布表单来更改功能

时间:2014-10-17 07:20:59

标签: php codeigniter pagination

所以我有一个列出销售线索的页面,这个页面有一个过滤器表单供用户提交以过滤列表以便它只显示他们选择的数据(作为过滤条件),它也有分页,每当我使用分页(如点击其中一个链接)然后使用过滤器,过滤器不起作用,我觉得问题存在于分页的base_url配置或uri_segment中,就像我发布过滤数据一样它应该调用一个函数(过滤器),它明显改变了最后一个uri段来自' list'过滤'当我不使用分页时,这种情况很好,但是当我使用它然后使用过滤器时,它只会附加过滤器'过滤器'到最后,所以我最终得到了&list; list&filter'哪个不对,我怎么解决这个问题? :我尝试删除/更改uri_segment,无论如何我可以修改分页配置的base_url变量以使其工作吗? 此外,当我点击任何不在第一页的链接时,我的uri中会显示结果数量,这会影响到什么吗?

相关代码: 控制器:

public function lists($offset = 0) { 
        $this->load->library('pagination');
        $limit = 13;
        $this->load->model('listsalemod'); //load the model that contains the database functionality.
        $lead = $this->listsalemod->listlead($limit, $offset); //load the function that lists leads and pass it to a variable
        $cli = $this->listsalemod->listcli(); //load the function that lists clents and pass it to a variable
        $data = array(); //create an array
        $data['lead'] = $lead['records']; //pass lead data to array
        $data['cli'] = $cli; //pass client data to array 
        $config['base_url'] = site_url('list_sales/lists');
        $config['total_rows'] = $lead['count'];
        $config['per_page'] = 13;
        $config['uri_segment'] = 3;
        $this->pagination->initialize($config);
        $this->load->library('pagination');
        $data['pagination'] = $this->pagination->create_links();
        $this->load->view('list_sales', $data); //load the view and pass in the data.

查看:

<body>   
        <div id="container">
        <form method="post" action="filter">
            BFstaff <input type=text name="staff">
            date:   <input type=text name="date">
            Client  <input type=text name="client">
            <input type="submit" value="submit">
        </form>
        <table id="table">
         <tr>
         <th>short description</th>
         <th>Client</th>
         <th>Created</th>
         <th>view</th>
        <div id="pagination">
        <?php
        echo $pagination;
        ?>

提前谢谢。

1 个答案:

答案 0 :(得分:0)

所以我想通了,基本上我将我的表单发布到&#39;过滤器&#39;什么时候我应该把它发布到&#39; / my_controller / filter&#39;因此,它不会将方法附加到分页创建的URL,现在它会从控制器段重写它。