当我在分页上点击下一页时,404 错误 运行
When I click to the next page on pagination, 404 error run
我试图在 CodeIgniter 中进行分页,但我猜我做错了什么。
- 分页链接显示在页面底部。 (好)
- 当我点击分页链接上的数字时,出现错误 (404)。 (这是我无法解决的问题)
我的代码如下。
blog_model
function posts($cat_id='')
{
$config['base_url'] = 'http://example.com/blog';
$config['total_rows'] = 3;
$config['per_page'] = 1;
$config['num_links'] = 20;
$this->pagination->initialize($config);
if($cat_id) $this->db->where('cat_id',$cat_id);
$query = $this->db->get('posts', $config['per_page'], $this->uri->segment(3));
return $query->result();
}
blog_view
<?php echo $this->pagination->create_links(); ?>
CI 中的分页可能会很棘手。 分页只是构造链接,您仍然需要为数据库查询正确构造 limit
和 offset
。
您必须将页码从 URL
传递到您的函数中
function posts($cat_id='', $page = FALSE)
{
$config['base_url'] = 'http://example.com/blog';
$config['total_rows'] = 3;
$config['per_page'] = 1;
$config['num_links'] = 20;
$config['uri_segment'] = 3; // <- verify this one
$this->pagination->initialize($config);
// set the page to 1 if the page is missing from the URL
$page = ($page === FALSE ? 1 : $page);
// calculate the offset for the query
$offset = ($page - 1 ) * $config['per_page'];
if($cat_id) $this->db->where('cat_id',$cat_id);
$query = $this->db->get('posts', $config['per_page'], $offset);
return $query->result();
}
根据评论编辑:
我也不确定您的第 3 段页码位置是否正确。如果它是 /blog/posts/cat_id/1
,那么页码(您的偏移量)位于段号 4。
我试图在 CodeIgniter 中进行分页,但我猜我做错了什么。
- 分页链接显示在页面底部。 (好)
- 当我点击分页链接上的数字时,出现错误 (404)。 (这是我无法解决的问题)
我的代码如下。
blog_model
function posts($cat_id='')
{
$config['base_url'] = 'http://example.com/blog';
$config['total_rows'] = 3;
$config['per_page'] = 1;
$config['num_links'] = 20;
$this->pagination->initialize($config);
if($cat_id) $this->db->where('cat_id',$cat_id);
$query = $this->db->get('posts', $config['per_page'], $this->uri->segment(3));
return $query->result();
}
blog_view
<?php echo $this->pagination->create_links(); ?>
CI 中的分页可能会很棘手。 分页只是构造链接,您仍然需要为数据库查询正确构造 limit
和 offset
。
您必须将页码从 URL
传递到您的函数中function posts($cat_id='', $page = FALSE)
{
$config['base_url'] = 'http://example.com/blog';
$config['total_rows'] = 3;
$config['per_page'] = 1;
$config['num_links'] = 20;
$config['uri_segment'] = 3; // <- verify this one
$this->pagination->initialize($config);
// set the page to 1 if the page is missing from the URL
$page = ($page === FALSE ? 1 : $page);
// calculate the offset for the query
$offset = ($page - 1 ) * $config['per_page'];
if($cat_id) $this->db->where('cat_id',$cat_id);
$query = $this->db->get('posts', $config['per_page'], $offset);
return $query->result();
}
根据评论编辑:
我也不确定您的第 3 段页码位置是否正确。如果它是 /blog/posts/cat_id/1
,那么页码(您的偏移量)位于段号 4。