当前位置: 首页 > 知识库问答 >
问题:

Codeigniter分页第一页始终是当前页

慕宏峻
2023-03-14

这件事让我毛骨悚然。我正在使用CodeIgniters分页库,现在它总是作为当前页面粘贴在第1页上。我已经检查了一大堆StackOverflow问题,我没有和其他人一样的问题。

这是我的url结构

website.com/leaders/page/[page_number]

这是我控制器里的分页代码

    $this->load->library('pagination');

    $config['per_page'] = $query_config['limit'];
    $config['base_url'] = base_url() . 'leaders/page/';
    $config['total_rows'] = 2000; // I actually use a function for this number
    $config['full_tag_open'] = '<div id="paginate">';
    $config['full_tag_close'] = '</div>';
    $config['first_link'] = '&laquo; First';
    $config['last_link'] = 'Last &raquo;';
    $config['use_page_numbers'] = true;
    $config['uri_segment'] = 3;

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

当我在视图中呼应分页时,它看起来像是工作的。每个链接上的网址都是正确的,一切看起来都很好。最后一个链接显示最后一个页面url,当前页面为1。然而,当我点击第2页或分页中的任何其他页面时,它仍然显示第1页为当前页面,即使网址如下

website.com/leaders/page/2

我用了$this-

我在写这个的时候发现了问题但我还是很困惑

然后我想可能是url本身出了问题,因为我有一条路径将其指向控制器中的index方法。下面是我的路由文件的外观

routes.php

$route['leaders/page/(:num)'] = 'leaders/index';
$route['leaders/page'] = 'leaders/index';

然后,我尝试设置分页配置的base_url,将其直接发送到索引,如下所示:

$config['base_url'] = base_url . 'leaders/index';

现在它似乎工作正常。但是我如何使它与我以前的url结构一起工作呢?我只是觉得它看起来更好,我不需要控制器中的方法来实现这一点。我的路线有冲突吗。php文件?

谢谢


共有3个答案

景德海
2023-03-14

我已经工作了大约6个小时,使CI分页工作如我所料,我不知道是配置元素的顺序还是只是我的浏览器在和我开玩笑。

下面是我的配置阵列,以便分页正常工作。

正如你所看到的,这是正常的代码,但我的问题是,当我第一次渲染时,我的分页视图,一切似乎都可以,但是如果$config['per_page']=10;被设置为10,当我点击分页链接的11个链接,链接号2显示Cseguimiento/buscar_reportes/#,看起来当前页面是2不是11。

我很累,我开始改变$config数组的顺序,突然它起了作用。所以我在这里预先准备好了。

$config['base_url'] = base_url().'Cseguimiento/buscar_reportes/';
$config['uri_segment'] = 3;
$config['use_page_numbers'] = TRUE;
$config['first_link'] = FALSE;
$config['last_link'] = FALSE;
$config['next_link'] = '&gt;';
$config['prev_link'] = '&lt;';
$config["full_tag_open"] = '<ul class="pagination">';
$config["full_tag_close"] = '</ul>';
$config["first_tag_open"] = '<li>';
$config["first_tag_close"] = '</li>';
$config["last_tag_open"] = '<li>';
$config["last_tag_close"] = '</li>';
$config["next_tag_open"] = '<li>';
$config["next_tag_close"] = '</li>';
$config["prev_tag_open"] = "<li>";
$config["prev_tag_close"] = "</li>";
$config["cur_tag_open"] = "<li>";
$config["cur_tag_close"] = "</li>";
$config["num_tag_open"] = "<li>";
$config["num_tag_close"] = "</li>";
$config['total_rows'] = $this->mseguimiento->filas($fecha_inicio,$fecha_fin);
$config['per_page'] = 10;
$choice = $config["total_rows"] / $config["per_page"];
$config["num_links"] = round($choice);
$page = $config['uri_segment'] * $config['per_page'];
$this->pagination->initialize($config);
$offset = ($this->uri->segment(3)-1)*$config['per_page'];
$output = array(
    'pagination_link'  => $this->pagination->create_links(),
    'lista_reportes'   => $this->mseguimiento->fetch_details($this->pagination->per_page, $offset,$fecha_inicio,$fecha_fin)
    );
终波涛
2023-03-14

在你的代码中使用它,希望它能起作用-

if ($this->uri->segment(3) > 0) {
     $offset = $this->uri->segment(3) * $config['per_page'] - $config['per_page'];
 } else {
     $offset = $this->uri->segment(3);
 }
邓才
2023-03-14
匿名用户

定义当前页面并定义控制器如下:

public function index($page=''){
    //...
    $page = ($page!='')? $page : 0;
    $config["cur_page"] = $page;

    //...

}

 类似资料:
  • 我有一个博客页面的文章,我试图使用CodeIgniter分页。编号和限制似乎工作正常,除了当我试图旅行到另一页时,我一直得到一个404。 奇怪的是,导致这个问题的正常罪魁祸首是正确的。baseUrl和uri_段。 我的控制器如下所示: 然后在我的模型中,我抓住柱子 我的完整URL是,然后分页显示为www.mysite。com/blog/2。 对于base\u Url,我也尝试了

  • 我有问题的样式分页。我有html代码: null null 我的分页元素有渐变边框,这是正常的,但分页数是不可见的。请帮我解决这个问题。

  • 本文向大家介绍asp.net gridview分页:第一页 下一页 1 2 3 4 上一页 最末页,包括了asp.net gridview分页:第一页 下一页 1 2 3 4 上一页 最末页的使用技巧和注意事项,需要的朋友参考一下 效果图: 功能简介:可使用上下键选中行,选中后点击修改,textbox获得gridview中的代码的数据。对你有帮助的话,请记得要点击“好文要顶”哦!!!不懂的,请留言

  • 我在Codeigniters分页类中遇到一些问题。 问题是“第1页”仍然是粗体的,即使URL发生了变化。 我的url如下所示: http://mypage.com/s/searchstr/4/1 uri- 我已经将$config['uri_segment']=4;正如您在下面的代码中看到的。 有人知道代码有什么问题吗? 非常感谢。

  • 我到处找了又找,但还是找不到解决问题的办法。我还不熟悉php和codeigniter,所以可能我已经错过了答案,但不管怎样,下面是我要做的。 这是我的控制器(c_index.php)-调用搜索函数并对结果数组执行分页。 这是我的视图(index.php)-基本上只是显示分页结果 我的模型(m_search.php)-基本上搜索数据库并返回结果数组。 类M_搜索扩展了CI_模型{ 现在我的问题是保留

  • 对,第一次使用分页,无法使其在第一页之外工作(404错误)。这一切似乎都围绕着$offset变量展开,就好像我将offset的变量更改为整数(如15),它会在第一页上显示从第15行开始的结果-但是$offset- 控制器: 型号: URL(首页): URL(第二页): 我做错了什么? 虽然这与错误无关,但请查看: