如何在 PHP 的链接中“添加”两个 GET


How "add" two GETs in a link in PHP

有两个菜单,都是为了过滤我网站的主要内容。菜单一将过滤类别,菜单二将过滤品牌。

单击菜单01选项时,它将输出:mywebsite.com/?cat=accessories

单击菜单02选项时,它将输出:mywebsite.com/?brand=medicate

的主要问题是,当其中一个已经设置好时,我如何将两者放在一起,例如:mywebsite.com/?category=accessories&brand=medicate

这是我的基本代码:

<h1>Menu One</h1>
<ul>
  <li><a href="?category=accessories">Option 01</a></li>
  <li><a href="?category=bolts">Option 01</a></li>
  <li><a href="?category=tools">Option 01</a></li>
</ul>
<h1>Menu Two</h1>
<ul>
  <li><a href="&brand=medicate">Brand 01</a></li>
  <li><a href="&brand=diasyst">Brand 02</a></li>
  <li><a href="&brand=clement">Brand 03</a></li>
</ul>

显示菜单时,如果已设置其他筛选器之一,则可以将其添加到其他菜单中的 URL。

$cat = isset($_GET['category']) ? '&category=' . $_GET['category'] : '';
$brand = isset($_GET['brand']) ? '&brand=' . $_GET['brand'] : '';
?>
<h1>Menu One</h1>
<ul>
  <li><a href="?category=accessories<?php echo $brand ?>">Option 01</a></li>
  <li><a href="?category=bolts<?php echo $brand ?>">Option 01</a></li>
  <li><a href="?category=tools<?php echo $brand ?>">Option 01</a></li>
</ul>
<h1>Menu Two</h1>
<ul>
  <li><a href="?brand=medicate<?php echo $cat ?>">Brand 01</a></li>
  <li><a href="?brand=diasyst<?php echo $cat ?>">Brand 02</a></li>
  <li><a href="?brand=clement<?php echo $cat ?>">Brand 03</a></li>
</ul>
我不知道

我是否正确理解了你的问题,但在我看来你想这样做?

<h1>Menu Join</h1>
<ul>
  <li><a href="?brand=medicate&category=accessories">Brand 01</a></li>
  <li><a href="?brand=diasyst&category=accessories">Brand 02</a></li>
  <li><a href="?brand=clement&category=accessories">Brand 03</a></li>
</ul>

我想这就是你要的:

<h1>Menu One</h1>
<ul>
  <li><a href="?brand=<?php echo $_GET["brand"]; ?>&category=accessories">Option 01</a></li>
  <li><a href="?brand=<?php echo $_GET["brand"]; ?>&category=bolts">Option 01</a></li>
  <li><a href="?brand=<?php echo $_GET["brand"]; ?>&category=tools">Option 01</a></li>
</ul>
<h1>Menu Two</h1>
<ul>
  <li><a href="?brand=medicate&category=<?php echo $_GET["category"]; ?>">Brand 01</a></li>
  <li><a href="?brand=diasyst&category=<?php echo $_GET["category"]; ?>">Brand 02</a></li>
  <li><a href="?brand=clement&category=<?php echo $_GET["category"]; ?>">Brand 03</a></li>
</ul>

这将适用于您的确切情况。

您还需要将已知参数添加到链接中。

<?php
  $category = isset($_GET['category']) ? '&category='.$_GET['category'] : '');
  $brand = isset($_GET['brand']) ? '&brand='.$_GET['brand'] : '');
?>
<h1>Menu One</h1>
<ul>
  <li><a href="?category=accessories<?php echo $brand; ?>">Accessories</a></li>
  <li><a href="?category=bolts<?php echo $brand; ?>">Bolts</a></li>
  <li><a href="?category=tools<?php echo $brand; ?>">Tools</a></li>
</ul>
<h1>Menu Two</h1>
<ul>
  <li><a href="?brand=medicate<?php echo $category; ?>">Medicate</a></li>
  <li><a href="?brand=diasyst<?php echo $category; ?>">Diasyst</a></li>
  <li><a href="?brand=clement<?php echo $category; ?>">Clement</a></li>
</ul>

考虑到您使用的是 PHP,您可以比硬编码所有选项更动态地编译菜单。但对此的解释超出了这个问题。考虑这只是一个一般提示。