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

CodeIgniter分页不会超过第一页

常甫
2023-03-14

我有一个博客页面的文章,我试图使用CodeIgniter分页。编号和限制似乎工作正常,除了当我试图旅行到另一页时,我一直得到一个404。

奇怪的是,导致这个问题的正常罪魁祸首是正确的。baseUrl和uri_段。

我的控制器如下所示:

$config                = array();
$config["base_url"]    = $this->config->site_url("/blog");
$config["total_rows"]  = $this->blog_model->count();
$config["per_page"]    = 2;
$config["uri_segment"] = 2;
$config["num_links"] = round($config["total_rows"] / $config["per_page"]);

$config['use_page_numbers'] = TRUE;

$this->pagination->initialize($config);
$page = ($this->uri->segment(2)) ? $this->uri->segment(2) : 0;

$this->load->view('blog', array(
    'user' => $this->user,
    'blog' => $this->blog_model->loadPosts($config['per_page'], $page),
    'links' => $this->pagination->create_links(),
    'footer' => $this->blog_model->loadFooter()
));

然后在我的模型中,我抓住柱子

public function loadPosts($limit, $start)
{
    $this->db->limit($limit, $start);
    $this->db->order_by("date", "desc");
    //this loads the contact info
    $query = $this->db->get('entries');
    return $query->result();
}

我的完整URL是www.mysite。com/blog,然后分页显示为www.mysite。com/blog/2。

对于base\u Url,我也尝试了base\u Url()。“/博客”

我尝试将uri_段设置为1和3,但似乎没有任何效果。

此外,我还尝试过使用路由,并添加了一些内容,看看它是否会起到任何作用:

$route['blog/(:num)'] = 'blog/$1';

共有3个答案

孙岳
2023-03-14

对于您的路由,尝试是否可以添加尽可能多的: anys或: nums之后,你喜欢:

$route['blog'] = 'blog/index'; // For the first level
$route['blog/(:any)/(:any)'] = 'blog/index/$1/$2'; // For extra "uri" segments.

// base_url pagination

$config["base_url"] = base_url("blog"); // Is preferred
黄啸
2023-03-14

假设包含分页代码的函数名为index(),则应将路由更改为:

$route['blog/(:num)'] = 'blog/index/$1';

在index()函数中,添加$page参数:

public function index($page = 1){
...
房子昂
2023-03-14

如果您的代码位于index方法内,则可以使用此行代码:

="blog/index/1美元";

因为您已经使用了段(2),您应该将blog/index/$1更改为blog/:any。

 类似资料:
  • 这件事让我毛骨悚然。我正在使用CodeIgniters分页库,现在它总是作为当前页面粘贴在第1页上。我已经检查了一大堆StackOverflow问题,我没有和其他人一样的问题。 这是我的url结构 这是我控制器里的分页代码 当我在视图中呼应分页时,它看起来像是工作的。每个链接上的网址都是正确的,一切看起来都很好。最后一个链接显示最后一个页面url,当前页面为1。然而,当我点击第2页或分页中的任何其

  • 我正在使用基于Laravel和Twig的OctoberCMS。 十月有一个范围分页功能,但它缺乏我需要的功能,所以我必须使用Laravel返回结果和分页。 我有一个厨房分类和图像数据库记录。 我试图从URL中获取标识符,以过滤回数据库结果。 问题 代码返回自然图像并显示分页。但是当我点击一个页码时,url会变成或,但页面按钮停留在上,记录/图像不会更改。 这就像php在下一页重置,并再次显示第1页

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

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

  • 我使用分页与codeigniter,但每次我得到只有一个结果添加时,我改变页面。 让我们明确一点,在中,我有15个不同的结果,当我进入时,我会得到相同的结果,最后会有额外的新结果,当我进入时,我会得到与相同的结果,但最后会有额外的一个新结果。。。 我的代码(控制器): 我的看法是:

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