【问题标题】:Removing ampersand from URL in Codeigniter pagination在 Codeigniter 分页中从 URL 中删除 & 符号
【发布时间】:2023-04-10 14:36:01
【问题描述】:

在我的 Codeigniter 项目中,我正在尝试使用 CI 的分页库来实现分页。我的控制器功能如下图:

function uploadhistory()
{
    $data['num']=20;
    $this->load->library('pagination'); // library for pagination
    $config['base_url'] = base_url().'video/uploadhistory/'; 
    $config['total_rows'] = $data['num']; 
    $config['per_page'] = 3; 
    $config['page_query_string'] = TRUE;
    $this->pagination->initialize($config); 
    echo $this->pagination->create_links();

    $data['page']='video/uploadhistory';
    $this->load->view('layout/template',$data);
}

问题是,分页 URL 是这样的:

http://www.domain.com/project/video/uploadhistory/&per_page=3

我需要的是这样的:

http://www.domain.com/project/video/uploadhistory/3.

我在 application/config/config.php 文件中设置了$config['enable_query_strings'] = TRUE;

谁能帮我解决这个问题?

提前致谢。

【问题讨论】:

  • 你试过设置成false吗,然后uploadhistory($page_num = 1)
  • Dude,当您使用domain.com/project/video/uploadhistory/3 之类的链接时,这意味着您将参数传递给function uploadhistory($id) 之类的控制器函数,然后它将按您的意愿工作
  • $config['page_query_string'] = FALSE; 在上述更改后试试这个
  • 仍然没有任何变化。现在链接也包含 & 并且给我页面未找到错误。

标签: php codeigniter url pagination


【解决方案1】:

也许你可以试试这个

$config['page_query_string'] = FALSE;
$config['uri_segment'] = 4;

这里的主要问题是“uri_segment”的默认值是3,它代表了你的URL中的“uploadhistory”。你必须强制它为4,这样它才能获取正确的URL段。

有关Codeigniter Pagination Class doc的更多信息

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-09
    • 2011-12-11
    • 2011-10-21
    • 2016-05-14
    • 2014-10-28
    • 2012-06-15
    • 2012-09-21
    相关资源
    最近更新 更多