在URL末尾添加排序变量,并在URL

时间:2017-04-25 09:09:11

标签: php sorting url get href

嗨我有这样的网址......

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中,它也会修改sort变量的值。

但后来我使我的网址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中已存在sort变量,它将使用当前href操作其值。
  3. 提前致谢....

2 个答案:

答案 0 :(得分:0)

第一个参数char应该是

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

答案 1 :(得分:0)

我不确定你需要什么,但尝试类似的东西:
随机HTML表单获取属性及其值(如?type = vehicle&amp; 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>

我希望我帮助你少或多。