【发布时间】:2014-05-09 18:17:51
【问题描述】:
我有一个分页系统,要求在 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>';
【问题讨论】:
-
下一页的锚标记是什么样的?
-
您现在可能想要添加生成链接的代码,它可以帮助某人想出一个易于实施的解决方案。
-
@joseph4tw
<a href="http://localhost/search/top-rated/1</a> -
使用相对链接怎么样? (例如
echo "<li><a href='../$page'>$page</a></li>";?如果一开始没有指定页面,可能(可能会)导致问题 - 但您可以首先使用if或链接到..../search/1来解决这个问题。 -
你知道'current_url'的格式吗?即它是否总是有页码,或者您可以轻松识别您需要的“基础部分”,然后去掉多余的部分。然后你附加你的页码信息。
标签: php codeigniter pagination