PHP分页,页码保持附加到URL

时间:2014-05-09 18:17:52

标签: php codeigniter pagination

我有一个分页系统,要求页码在URL中。问题是,到下一页的链接抓住了当前的网址'此URL已包含上一页的页码,例如:

分页链接抓取当前网址http://localhost/search/并附加其网页编号,结果:http://localhost/search/1http://localhost/search/2等。 在下一页中,以下分页链接会抓取当前可能已包含页码的URL!所以它再次附加http://localhost/search/1/2并且一切都会中断。

我真的不想为此使用会话。使用CodeIgniter base_url()不会返回我需要的控制器和函数,如果我使用$_SERVER['PHP_SELF'],它也会包含域。我有什么想法可以实现这个目标吗?

修改

示例代码:

foreach ($reviews as $page){
        echo "<li><a href='".current_url()."/$page'>$page</a></li>";
}

echo '</ul>';

2 个答案:

答案 0 :(得分:2)

您可以用相对的链接替换您的链接:

echo "<li><a href='../$page'>$page</a></li>";

这假定页面是URL的最后一部分,如果没有指定页面(假设为1),则需要特殊处理。

可能的处理方法是

  • 使用if查看是否已指定页面(如果是,请使用相对链接,如果不是简单地追加下一页编号,就像您现在所做的那样)。

  • 只需在搜索时附加/1即可明确链接到第一页。

答案 1 :(得分:0)

来自CI文档:

http://ellislab.com/codeigniter/user-guide/helpers/url_helper.html

你可以这样做吗?

foreach ($reviews as $page){
        echo "<li><a href='".site_url("url/to/results")."/$page'>$page</a></li>";
}