我有一个分页系统,要求页码在URL中。问题是,到下一页的链接抓住了当前的网址'此URL已包含上一页的页码,例如:
分页链接抓取当前网址http://localhost/search/
并附加其网页编号,结果:http://localhost/search/1
,http://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>';
答案 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>";
}