【问题标题】:Add sort variable at end of URL and manipulate if already exists in URL在 URL 末尾添加排序变量,如果 URL 中已经存在,则进行操作
【发布时间】:2017-09-22 04:59:45
【问题描述】:

您好,我有这样的网址...

www.example.com/list.php?type=vehicles&stype=Cars
www.example.com/list.php?type=vehicles&stype=Cars&loc=Ludhiana

为了对结果进行排序,排序变量在 URL 的最后附加,在添加排序变量后的 URL 是

www.example.com/list.php?type=vehicles&stype=Cars&sort='**ANYVALUE**'
www.example.com/list.php?type=vehicles&stype=Cars&loc=Ludhiana&sort='**ANYVALUE**'

在我使用的 href 上

<a href="?<?php echo http_build_query(array_merge($_GET, array('sort' => 'sort-value'))); ?>"></a>

上面的代码非常适合我。它在 URL 的末尾添加了我想要的排序变量。如果变量已经存在于 URL 中,它也会修改排序变量的值。

但后来我使我的网址对 SEO 友好,现在网址是

www.example.com/vehicles/Cars
www.example.com/vehicles/Cars/Ludhiana

添加排序变量后就变成了

www.example.com/vehicles/Cars&sort='**ANYVALUE**'
www.example.com/vehicles/Cars/Ludhiana&sort='**ANYVALUE**'

但现在由于 URL 是 SEO 友好的,所以当我使用相同的 href 时,它不起作用,它变成了

http://www.example.com/type=vehicle&stype=Car&sort=R-ASC

这会导致 404 错误。

什么是正确的 href 代码,以便它可以执行以下操作

  1. 在 URL 末尾附加排序变量,无论 URL 有 2 个变量还是 3 个变量。
  2. 如果 URL 中已经存在排序变量,它将使用当前 href 操作其值。

提前谢谢....

【问题讨论】:

  • 你现在如何建立你的网址?
  • 这就是我想要的...
  • 我需要 href 代码,它会按原样获取整个 URL,最后会附加排序变量....如果排序变量已经存在于 URL 中,那么它将操纵当前的排序值保持 URL 的其余部分相同...

标签: php sorting url get href


【解决方案1】:

第一个参数 char 应该是 ?

http://www.example.com/?type=vehicle&stype=Car&sort=R-ASC

【讨论】:

  • 我需要 href 代码,它会按原样获取整个 URL,最后会附加排序变量......
  • 如果排序变量已经存在于 URL 中,那么它将操纵当前排序值保持 URL 的其余部分相同...
【解决方案2】:

我不确定您需要什么,但请尝试类似的方法:
获取属性及其值的随机 HTML 表单(如 ?type=vehicle&stype=blabla)并将您重定向到您想要的页面(使用纯 HTML,没有任何 PHP):

<html>
<head>
<title>Test</title>
</head>
<body>
<form action="http://example.com" method="get">
    <input type="text" placeholder="Type" name="type">
    <input type="text" placeholder="Stype" name="stype">
    <input type="submit" value="Search">
</form>
</body>
</html>

如果你想要一个指向页面的链接而不是重定向

<head>
<title>Test</title>
</head>
<body>
<form action="" method="get">
    <input type="text" placeholder="Type" name="type">
    <input type="text" placeholder="Stype" name="stype">
    <input type="submit">
</form>
<?php
echo "<a href='http://example.com/listItems.php?type=". $_GET["type"] ."&stype=". $_GET["stype"] ."'>Link</a>";
?>
</body>
</html>

我希望我对你的帮助更少或更多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-15
    • 2013-04-16
    • 2014-02-03
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多