PHP仅显示第一个子菜单,如果变量设置为,则每个菜单不显示一个子菜单
好的,我希望这是有意义的。因此,我正在建立一个店铺,整个店铺的一个恒定要素是店铺侧导航。这是一个水平菜单,将主要类别显示为标题 当您登陆主商店页面时,它将提示您选择一个类别。在此页面上仅显示主要类别标题,如下所示: 第一类 第二类 第三类 第四类 第五类 但是,当您选择一个类别时,它将重定向到该类别页面,并且侧面导航菜单将略有更改。并显示该类别的子菜单,并且仅显示该类别,因此,例如,如果单击Cat1,它将如下所示: 第一类 子目录1 副2 次级T3 第二类 第三类 第四类 第五类 对于基本示例,我很抱歉。我的问题是,我似乎不能只为一个类别创建子菜单循环,或者它们中的一个不显示,或者为所有类别创建相同的子菜单循环 这是旁边的导航代码:PHP仅显示第一个子菜单,如果变量设置为,则每个菜单不显示一个子菜单,php,loops,Php,Loops,好的,我希望这是有意义的。因此,我正在建立一个店铺,整个店铺的一个恒定要素是店铺侧导航。这是一个水平菜单,将主要类别显示为标题 当您登陆主商店页面时,它将提示您选择一个类别。在此页面上仅显示主要类别标题,如下所示: 第一类 第二类 第三类 第四类 第五类 但是,当您选择一个类别时,它将重定向到该类别页面,并且侧面导航菜单将略有更改。并显示该类别的子菜单,并且仅显示该类别,因此,例如,如果单击Cat1,它将如下所示: 第一类 子目录1 副2 次级T3 第二类 第三类 第四类 第五类 对于基本示例,
<div id="shopcontentl">
<div id="shopnavigation">
<?php
$navGet = mssql_query("SELECT * FROM Categories");
while ($navHead = mssql_fetch_array($navGet)) {
?>
<a href="category.php?id=<?php echo $navHead['CatID']; ?>"><?php echo $navHead['CatName']; ?></a>
<?php
if (isset($_GET['id']) && ($_GET['id'] > 0)) {
?>
<div class="subnav">
<?php
$subnavGet = mssql_query("SELECT SubCatName FROM SubCategories WHERE CatID = ".$_GET['id']."");
while ($subnavHead = mssql_fetch_array($subnavGet)) {
?>
<a href="category.php"><?php echo $subnavHead['SubCatName']; ?></a>
<?php
}
?>
</div>
<?php
}
}
?>
</div>
</div>
我很确定我使用的循环是错误的,但我对PHP还是相当陌生的,有人能理解我的意思并为我指出正确的方向吗?提前感谢。您需要为特定id添加条件,如下所示
if (isset($_GET['id']) && ($_GET['id'] > 0) && ($_GET['id']==$navHead['CatID'])) {
您需要为特定id添加条件,如下所示
if (isset($_GET['id']) && ($_GET['id'] > 0) && ($_GET['id']==$navHead['CatID'])) {
只要一个变化
<?php
$subnavGet = mssql_query("SELECT SubCatName FROM SubCategories WHERE CatID = ".$navHead['CatID']."");
while ($subnavHead = mssql_fetch_array($subnavGet)) {
?>
它对于子类别是必须的,因为无论何时获取一个类别并转到内部循环,它都需要特定主类别的主id。因此,我们可以将该id提供给内部循环查询。只需一个更改
<?php
$subnavGet = mssql_query("SELECT SubCatName FROM SubCategories WHERE CatID = ".$navHead['CatID']."");
while ($subnavHead = mssql_fetch_array($subnavGet)) {
?>
它对于子类别是必须的,因为无论何时获取一个类别并转到内部循环,它都需要特定主类别的主id。因此,我们可以将该id提供给内部循环查询。非常有效,谢谢+我会尽我所能接受的。不确定谁投了反对票,但我想知道一个解释。只有当循环中的当前类别和当前类别页面的id相同时,才需要显示子菜单。Daxen的解决方案也是正确的。非常有效,谢谢+我会尽我所能接受的。不知道是谁投了反对票,但我想知道一个解释。只有当循环中的当前类别和当前类别页面的id相同时,才需要显示子菜单。Daxen的解决方案也是正确的。