代码点火器分页:不创建第一页的链接


CodeIgniter Pagination : Does not create first page's link

我的分页问题仍然存在;

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

        $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没有链接,也没有

跳下一页的链接,第1页没有链接。只是它很强.

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

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

由于这个分页问题,我非常生气,我正在研究分页库的源代码,我看到了这个 - 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 这不在分页类文档中。我希望这能添加到文档中,因为我看到许多开发人员在分页类方面遇到了困难。

如果您熟悉分页的工作原理,那么您应该知道分页不会向当前页面添加链接标签。所以我不确定您对"分页类不创建 1 页链接"的要求是什么。

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

    $offset = $this->uri->segment(4, 0);
    $this->pagination->initialize($config);
更改"当前页面"链接

标记的一种方法是"自定义"当前页面"链接"

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

"当前"链接的开始标记。

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

"当前"链接的结束标记。

另一种选择是深入研究分页类并删除它不添加指向当前页面的链接的功能。

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

不,无需支付任何费用...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);

好客的是,这几个变化将为您工作。

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