使用分页时的 Codeigniter url 重写问题

Posted

技术标签:

【中文标题】使用分页时的 Codeigniter url 重写问题【英文标题】:Codeigniter url rewrite issue when using pagination 【发布时间】:2014-01-10 02:59:00 【问题描述】:

这些天我正在学习 codeigniter。几天前我做了一个自己使用的网站,今天我刚刚应用了分页,但我的 url 重写似乎有问题。

这是我在控制器中的操作,它获取类别中的作者列表

`公共函数索引() $data['main_content'] = "templates/public/audio/author_view"; $data['authors'] = $this->author_model->get_authors(); $this->load->view("templates/public/template",$data); `
这是我的函数,它从位于我的作者模型中的 db 中获取值
      `公共函数get_authors($type = 0)
        $this->db->select("author.name,author.image,author.slug");
        $this->db->from("作者");
        $this->db->join("专辑","author.id = album.author_id");
        $this->db->where("album.mime_type",$type);
        $this->db->group_by("author.name");
        $query = $this->db->get();
        返回$查询->结果();
    `

当我点击其中一位作者时,它会打开所选作者的所有专辑。然后 url 看起来链接 www.xyz.com/audio/album-name这是我这条路线的代码。

$route['audio/(:any)'] = "audio/view_author_album";

在这个阶段它工作正常。但是今天当我应用分页时,我发现这条路线不会为我做更多的工作。我在索引操作中添加了分页下面你可以看到我的代码

公共函数索引() $config['base_url'] = "http://localhost/mywebsite/audio/index/"; $config['total_rows'] = $this->author_model->get_total_rows(); $config['per_page'] = 1; $this->分页->初始化($config); $data['main_content'] = "templates/public/audio/author_view"; $data['authors'] = $this->author_model->get_authors($config['per_page'], $this->uri->segment(3)); $this->load->view("templates/public/template",$data);

这会打开详情 http://localhost/mysite/audio/index/2 针对这个 url 我的路由规则 $route['audio/(:any)/(:any)'] = "audio/view_album_details";有效。 它应该抓取下一页而不是我的详细视图。 url 应该类似于 http://localhost/mysite/audio/2 我也试过 $route['audio/(:num)'] = "audio/; 如果有人可以帮助我解决这个问题,我将非常合适。

【问题讨论】:

【参考方案1】:

我遇到了同样的问题,我通过使用两个相同的路由器来解决它

$route['a-b-c/([a-z0-9-]+)/([0-9]*)'] = "产品/类别/$1"; $route['a-b-c/([a-z0-9-]+)'] = "产品/类别/";

【讨论】:

您能解释一下您的解决方案吗?

以上是关于使用分页时的 Codeigniter url 重写问题的主要内容,如果未能解决你的问题,请参考以下文章

尝试在 Codeigniter 4 中启动分页时返回错误

使用 distinct 和 row_number 分页时的性能

在 codeigniter 上搜索和分页

在Codeigniter中搜索的分页不起作用

始终使用 CodeIgniter 分页类显示上一个和下一个链接

datatable -- 后端分页时的参数设置