有两个菜单,都是为了过滤我网站的主要内容。菜单一将过滤类别,菜单二将过滤品牌。
单击菜单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,您可以比硬编码所有选项更动态地编译菜单。但对此的解释超出了这个问题。考虑这只是一个一般提示。