Php 将类添加到<;李>;如果使用mysqli查询存在子菜单
我想知道,如果一个类有一个子菜单,我如何向它添加一个类 我有一个正确的HTML菜单填充从mysql数据库Php 将类添加到<;李>;如果使用mysqli查询存在子菜单,php,Php,我想知道,如果一个类有一个子菜单,我如何向它添加一个类 我有一个正确的HTML菜单填充从mysql数据库 <div class="collapse navbar-collapse"> <ul class="nav navbar-nav navbar-right"> <li><a href="/about-us/">About us</a> <ul class="dropdown-me
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="/about-us/">About us</a>
<ul class="dropdown-menu">
<li><a href="#">Link 1</a></li>
<li><a href="#">Link 2</a></li>
<li><a href="#">Link 3</a></li>
<li><a href="#">Link 4</a></li>
<li><a href="#">Link 5</a></li>
</ul>
</li>
<li class="dropdown"><a href="contact.php">Contact</a></li>
</ul>
</div>
-
我使用的是引导框架,因此对于下拉菜单,我必须将我的
替换为:
<li class='dropdown'>
<a aria-expanded='false' aria-haspopup='true' class='dropdown-toggle' data-toggle='dropdown' href='/about-us/' role='button'>
About us <span class='caret'></span>
</a>
</li>
我想知道在循环中运行子菜单查询之前,如何检查
是否有子菜单?这样我可以为下拉菜单添加标记
以下是生成菜单的PHP代码:
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-right">
<?php
$res1 = $connection->query("SELECT * FROM primary_nav ORDER BY m_menu_id ASC");
while($menu=$res1->fetch_array())
{
?>
<li>
<a href="<?php echo $domain; ?><?php echo $menu['m_menu_link']; ?>">
<?php echo $menu['m_menu_name']; ?>
</a>
<?php
$res1_pro=$connection->query("SELECT * FROM primary_subnav WHERE m_menu_id=".$menu['m_menu_id']." ORDER BY seq ASC");
//echo "\xA";
?>
<?php
if(mysqli_num_rows($res1_pro) > 0) {
echo '<ul class="dropdown-menu">' ."\xA";
while ($pro1_row = $res1_pro->fetch_array()) {
?>
<li>
<a href="<?php echo $domain; ?><?php echo $pro1_row['s_menu_link']; ?>">
<?php echo $pro1_row['s_menu_name']; ?>
</a>
</li>
<?php
}
echo '</ul>' ."\xA";
}
?>
</li>
<?php
echo "\xA";
}
?>
</ul>
</div>
-
-
我可以用jQuery来做这件事,但我想用HTML的方式来做。你必须在
中的类中添加
,如果检查行数。然后,您必须添加一个else
子句,以便在没有类的情况下呼出
:
<?php
$res1 = $connection->query("SELECT * FROM primary_nav ORDER BY m_menu_id ASC");
while($menu=$res1->fetch_array())
{
$res1_pro=$connection->query("SELECT * FROM primary_subnav WHERE m_menu_id=".$menu['m_menu_id']." ORDER BY seq ASC");
//echo "\xA";
if(mysqli_num_rows($res1_pro) > 0) { // echo the list element with the class here
?>
<li class="foo">
<a href="<?php echo $domain; ?><?php echo $menu['m_menu_link']; ?>"><?php echo $menu['m_menu_name']; ?></a>
<?php
echo '<ul class="dropdown-menu">' ."\xA";
while ($pro1_row = $res1_pro->fetch_array()) {
?>
<li>
<a href="<?php echo $domain; ?><?php echo $pro1_row['s_menu_link']; ?>"><?php echo $pro1_row['s_menu_name']; ?></a>
</li>
<?php
}
echo '</ul>' ."\xA";
} else { // echo the normal list element if number of rows is 0
?>
<li>
<a href="<?php echo $domain; ?><?php echo $menu['m_menu_link']; ?>"><?php echo $menu['m_menu_name']; ?></a>
<?php
}
?>
</li>
<?php
echo "\xA";
}
?>
注意:这种特殊的编码风格使得在需要时编写和维护代码非常困难。您可能希望研究将PHP和HTML结合起来的方法,以便更容易地更新和维护您的代码。是否使用HTML方法?你的意思是当你从PHP输出HTML时你想这样做吗?是的,没错。。。。我不想使用jQuery,我希望PHP添加下拉类和其他标记。您可以等待输出父级
(您希望该类位于其上的父级),直到您在if
语句中选中子菜单。是的,我也这么认为。它必须在if
语句中进行检查,但我不知道如何在不在循环中运行子查询的情况下进行检查…在检查$res1\u pro
是否有超过0行之前,您不会运行子查询。我遇到了此错误解析错误:语法错误,意外的文件结尾
我清理了@XeBiithanks一百万。正如您在我的代码中所看到的,我只是一个初学者,对PHP的了解很少。我在学习,每当我被绊倒时,我都会来这里寻求帮助。因为我在自学。我希望我将来能成为一名优秀的编码/开发人员,并遵循适当的编码标准。你的帮助对我很重要。非常感谢:)