首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP分页,页号一直附加到URL

PHP分页,页号一直附加到URL
EN

Stack Overflow用户
提问于 2014-05-09 18:17:51
回答 2查看 863关注 0票数 0

我有一个分页系统,它要求页面号在URL中。问题是,指向下一页的链接获取了“当前URL”,而这个URL已经包含了上一页的页码,例如:

分页链接获取当前的URL http://localhost/search/,并在下一页附加它们的页码、结果:http://localhost/search/1http://localhost/search/2等。下面的分页链接获取当前的URL,其中可能已经有一个页码!所以它又追加了http://localhost/search/1/2,所有的东西都坏了。

我真的不想用会话来做这个。使用CodeIgniter base_url()不返回我需要的控制器和函数,如果我使用$_SERVER['PHP_SELF'],那么它也包括域。我有什么办法做到这一点吗?

编辑

样本代码:

代码语言:javascript
复制
foreach ($reviews as $page){
        echo "<li><a href='".current_url()."/$page'>$page</a></li>";
}

echo '</ul>';
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-09 19:07:55

您可以用一个相关链接替换您的链接:

代码语言:javascript
复制
echo "<li><a href='../$page'>$page</a></li>";

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

可能的处理方法是

  • 使用一个if来查看是否指定了一个页面(如果是,使用一个相对链接,如果不是像现在这样简单地追加下一个页码)。
  • 只需在搜索时追加/1,即可显式链接到第一个页面。
票数 2
EN

Stack Overflow用户

发布于 2014-05-09 19:02:03

从CI文档中可以看到:

helper.html

你能做这样的事吗?

代码语言:javascript
复制
foreach ($reviews as $page){
        echo "<li><a href='".site_url("url/to/results")."/$page'>$page</a></li>";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23571473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档