2

我的分页问题仍然存在;

我只是用简单的东西进行分页:

        $config['base_url'] = site_url('admin/index/page/');
        $this->load->database();
        $config['total_rows'] = $this->db->count_all('sms');
        $config['per_page'] = 20;
        $offset = $this->uri->segment(4, 0);
        $this->pagination->initialize($config)

我的视图页面有这个视图分页命令:

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

超过 20 行后,分页开始分页列表,但 html 输出显示如下:

 1  2  3 

如所见,第一页没有链接,也没有跳转下一页,第1页没有链接。只是它的强。

我的第二个问题是:我只有 30 条记录,但 CI 分页创建了带有空行的第三页!

我不确定为什么某些类(特别是分页给用户带来这么多麻烦?)如果我需要支付一些费用(可能是隐藏的许可证?)以摆脱麻烦,而不是使用简单的分页类而不会浪费太多时间来搜索问题互联网,我准备好了!

4

4 回答 4

12

因为这个分页问题,​​我很生气,我正在研究分页库的源代码,我看到了这个 -- var $uri_segment = 3; 分页库的默认值使用第 3 个 uri 段,在您的情况下,在我的情况下,我们想使用第 4 个 uri 段。为了满足我们的需要,更改此代码:

    $config['base_url'] = site_url('admin/index/page/');
    $this->load->database();
    $config['total_rows'] = $this->db->count_all('sms');
    $config['per_page'] = 20;
    $offset = $this->uri->segment(4, 0);
    $this->pagination->initialize($config)


   TO


    $config['base_url'] = site_url('admin/index/page/');
    $this->load->database();
    $config['total_rows'] = $this->db->count_all('sms');
    $config['per_page'] = 20;
    $offset = $this->uri->segment(4, 0);

    $config['uri_segment'] = 4;      // add this line to override the default

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

如果这可以解决您的问题或者问题仍然存在,请在此处回复,以便我可以提供帮助:)

Nwei 这不在分页类文档中。我希望这将被添加到文档中,因为我看到许多开发人员在使用分页类时遇到了困难。

于 2012-07-29T02:24:11.390 回答
1

如果您熟悉分页的工作原理,那么您应该知道分页不会将链接标签添加到当前页面。所以我不确定你在问什么关于“分页类不会创建 1 页链接”。

另外,我看不到您在分页功能中使用的偏移量。好像你设置了它,但你不使用它。这可能会导致不正确的分页结果,我认为这就是您获得比预期更多的分页链接的原因。

    $offset = $this->uri->segment(4, 0);
    $this->pagination->initialize($config);

更改“当前页面”链接标记的一种方法是“自定义“当前页面”链接”

$config['cur_tag_open'] = '<a href="#">';

“当前”链接的开始标签。

$config['cur_tag_close'] = '</a>';

“当前”链接的结束标签。

另一种选择是深入分页类并删除它具有的不添加到当前页面的链接的功能。

确实,如果您在当前页面上,则链接到您已经在其上的同一页面不会增加任何好处,我假设这是当前页面没有链接的原因。如果您转到第 2 页,则第 2 页将被禁用。希望这有点道理。

于 2012-06-01T21:03:55.447 回答
0

使用段号 4 时,我在分页中也遇到了同样的问题。我通过使用段号 3 解决了它。这也是我的问题,因为我真的需要使用段号 4 但是哦,它有错误。我希望这可以尽快解决。或者如果你现在真的需要解决这个问题,你可以尝试 fork 分页类的源代码。

于 2012-07-28T23:50:58.620 回答
0

不,不需要支付任何费用......CI分页完美运行......你看到这个库http://codeigniter.com/user_guide/libraries/pagination.html

确保您的 $config['total_rows'] = $this->db->count_all('sms');此代码工作正确并提供正确的行数,而且我还想建议使用 ..$config['uri_segment'] = 3;$config['uri_segment'] = 4; depend on your uri而不是使用 $offset = $this->uri->segment(4, 0);

幸好这些改变对你有用....

于 2012-06-01T17:04:33.453 回答