如何使用codeigniter在url中使用3参数创建分页?

时间:2014-08-27 17:32:44

标签: php ajax codeigniter pagination

我正在使用Codeigniter 2.2,我尝试建立分页问Codeigniter指南,当我用作下面的URL时,它对我来说是完美的工作

$pages_num: is the amount of pages for view.
http://localhost/Codeigniter2.1.4/public_html/page/$pages_num

但是当我为url添加一个参数时,我收到错误 作为下面的代码,我试着找到它3周前但我没有解决方案请  注意:数字2是id类别,数字4是分页视图的数量

http://localhost/Codeigniter2.1.4/public_html/cat/2/4

这是我在控制器中的代码

$this->load->model('frontend/categories_m');
        $count = $this->db->count_all_results('job');

            $perpage = 2;
        if ($count > $perpage) {
            $this->load->library('pagination');
            $config['base_url'] = site_url('cat/2');
            $config['total_rows'] = $count;
            $config['per_page'] = $perpage;
            $config['uri_segment'] = 3;
            $this->pagination->initialize($config);
            $this->data['pagination'] = $this->pagination->create_links();
            $offset = $this->uri->segment(3);
        } else {
            $this->data['pagination'] = '';
            $offset = 0;
        }
        $this->db->limit($perpage, $offset);

        $this->data['job_cat'] = $this->job_m->get_job();
        $this->data['subview'] = 'cat';
        $this->load->view('_main_layout', $this->data);

以下是观点:

 <?PHP if ($pagination): ?>
 <section class="pagination">
 <?PHP echo $pagination; ?>
 </section>
 <?PHP endif; ?>

请帮忙

抱歉,我无法在此处发布图片

1 个答案:

答案 0 :(得分:1)

使用codeigniter分页,默认链接结构如下

http://website/pages/getPagesViaAjax/3/5

这里的页面是控制器,getPagesViaAjax是其中的函数,3是类别id的参数,5是分页计数(即偏移)

在这种情况下,我的分页配置类似于

$config['base_url'] = site_url('getPagesViaAjax/3');
$offset = $this->uri->segment(4);

因此,在这种情况下,基本上你的偏移量将是最后一个参数,即5(在第4段可用)。因此,在将查询触发到模型之前,请检查偏移量。