我有一个分页系统,它要求页面号在URL中。问题是,指向下一页的链接获取了“当前URL”,而这个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>';发布于 2014-05-09 19:07:55
您可以用一个相关链接替换您的链接:
echo "<li><a href='../$page'>$page</a></li>";这假设页面是URL的最后一部分,如果没有指定页面(假设为1),则需要特殊处理。
可能的处理方法是
if来查看是否指定了一个页面(如果是,使用一个相对链接,如果不是像现在这样简单地追加下一个页码)。/1,即可显式链接到第一个页面。发布于 2014-05-09 19:02:03
从CI文档中可以看到:
你能做这样的事吗?
foreach ($reviews as $page){
echo "<li><a href='".site_url("url/to/results")."/$page'>$page</a></li>";
}https://stackoverflow.com/questions/23571473
复制相似问题