为啥我在 codeigniter 中的分页不起作用? (404 未找到)
Posted
技术标签:
【中文标题】为啥我在 codeigniter 中的分页不起作用? (404 未找到)【英文标题】:Why is my pagination in codeigniter not working? (404 not found)为什么我在 codeigniter 中的分页不起作用? (404 未找到) 【发布时间】:2018-07-26 09:22:43 【问题描述】:我已经按照步骤和教程进行了操作。但它不起作用。 我已经一步一步地按照互联网上的教程进行操作。但是当我转到第二页时它总是显示404页面未找到
这是我的控制器:
public function index()
$this->load->library('pagination');
$config['base_url'] = base_url().'index.php/blog';
$config['uri_segment'] = 2;
$config['per_page'] = 2;
$config['total_rows'] = $this->mod_blog->getAllData()->num_rows();
$this->pagination->initialize($config);
// $page = ($this->uri->segment(2)) ? ($this->uri->segment(2) - 1) : 0;
$page = $this->uri->segment(2);
$data = array(
'data' => $this->mod_blog->getData($config['per_page'],$page)->result(),
'pagination' => $this->pagination->create_links()
);
$this->load->view('layout/header');
$this->load->view('layout/sidebar');
$this->load->view('admin/blog',$data);
$this->load->view('layout/footer');
这是我的模特:
function getData($limit,$start)
$this->db->select('*');
$this->db->from('berita');
$this->db->join('admin','admin.id_admin = berita.id_admin');
$this->db->limit($limit,$start);
$this->db->order_by('id_berita','desc');
return $this->db->get();
function getAllData()
$this->db->select('*');
$this->db->from('berita');
$this->db->join('admin','admin.id_admin = berita.id_admin');
$this->db->order_by('id_berita','desc');
return $this->db->get();
【问题讨论】:
$page = $this->uri->segment(2);
返回什么?它有价值吗?上面的行被注释掉了。如果您取消注释该行会返回什么?如果您在注释行中省略了-1
怎么办? (我在一些教程中发现)
返回页码
你可能需要设置一些路由codeigniter.com/user_guide/general/routing.html#examples
sitepoint.com/pagination-with-codeigniter
【参考方案1】:
哎呀,我发现了我的错误。 它在
$config['base_url'] = base_url().'index.php/blog';
您必须将 config['base_url'] 指向您的 baseUrl/controllerName/functionName。所以,我把它改成了。
$config['base_url'] = base_url().'index.php/blog/index';
然后我将我的 Uri 段调整为 3
$config['uri_segment'] = 3;
$page = $this->uri->segment(3);
【讨论】:
以上是关于为啥我在 codeigniter 中的分页不起作用? (404 未找到)的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot 版本 2.0.3.RELEASE 中的分页不起作用