为啥我在 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 未找到)的主要内容,如果未能解决你的问题,请参考以下文章

CodeIgniter 3分页不起作用

Spring Boot 版本 2.0.3.RELEASE 中的分页不起作用

CodeIgniter分页不起作用(在其他页面中)

Kendo UI Grid 上的分页不起作用

为啥分页不起作用并在 wordpress 网站上出现 404 错误?

ngx-分页单击下一页不起作用