删除 URL 中的旧参数 (PHP)
我正在使用 PHP 为表格创建分页。 我使用以下代码创建分页链接,
<a class='page-numbers' href='$href&pagenum=$i'>$i</a>
使用 $href
$href = $_SERVER['REQUEST_URI'];
它工作得很好,但是,它与地址栏混淆,每次都会添加新的 pagenum 参数。 所以就变成了 pagenum=1&pagenum=3&pagenum=4....
如何改进呢?
I'm using PHP to create a pagination for a table.
I'm using the following code to create the pagination link
<a class='page-numbers' href='$href&pagenum=$i'>$i</a>
With $href
$href = $_SERVER['REQUEST_URI'];
It works well, however, it messes with the address bar, adding each time a new pagenum parameter.
So it becomes pagenum=1&pagenum=3&pagenum=4....
How to improve that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这个怎么样?经过测试,可以肯定:)
另外,请注意整个
$href
位是不必要的。如果您以?
开头href
,浏览器会将查询字符串应用于当前路径。不过,我敢打赌您会循环,因此这里有一个针对生成 10,000 个页码链接进行优化的版本。我的基准测试显示,在处理大量链接时,它的速度稍快一些,因为您只是进行字符串连接,而不是完整的 HTTP 查询构建,但这可能还不足以值得担心。仅当存在五六个 GET 参数时,差异才真正显着,但是,当存在时,此策略在我的计算机上只需大约一半的时间即可完成。
How about this? Went and tested, to be sure :)
Also, note that the whole
$href
bit is unnecessary. If you start yourhref
with?
, the browser will apply the query string to the current path.I bet you're going to be looping, though, so here's a version optimized for producing 10,000 page number links. My benchmarks put it as being ever so slightly faster at large numbers of links, since you're just doing string concatenation instead of a full HTTP query build, but it might not be enough to be worth worrying about. The difference is only really significant when there five or six GET parameters, but, when there are, this strategy completes in about half the time on my machine.