PHPについてサポートが必要です。正常に機能するマルチレベルのcssメニューがありますが、データベースのレコードに従って生成したいと思います。
メニューコード:
<div id="page-wrap">
<ul class="dropdown">
<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>
<ul class="sub_menu">
<li><a href="#">Link 4 - 1</a></li>
<li><a href="#">Link 4 - 2</a></li>
<li><a href="#">Link 4 - 3</a></li>
</ul>
</li>
<li><a href="#">Link 5</a></li>
<li><a href="#">Link 6</a> </li>
</ul>
</div>
データベースでは、すべてのレコードにmain_manuというフィールドがあり、このフィールドの値がYesの場合はメインリンクになり、値がNoの場合は、このリンクが必要な親メニューを示す別のフィールド(sub_menu )があります。置いた。!スクリーンショットを参照してください。
DBフィールド
SO、レコードを取得するphpピースの実行方法がわからないので、main_menuの値がyesの場合はトップレベルのメニューを作成し、main_menuの値がnoの場合はsub_menuフィールドの値に従ってサブレベルメニューを作成します。
どうもありがとう
アップデート
これは私がこれまでに持っているコードであり、機能します。複数のネストされたクエリの代わりに単一のクエリを使用できると便利です。
<div id='page-wrap'>
<ul class='dropdown'>
<?
$sql_menu = "SELECT * FROM content WHERE visible = '1' and main_menu='yes' ";
$result_menu = mysql_query($sql_menu);
while($row = mysql_fetch_assoc($result_menu))
{
$id=$row['id'];
$menu_top=$row['menu_name'];
$menu_url=$row['menu_url'];
print "<li><a href='$menu_url'>$menu_top</a>";
$sql_sub = "SELECT * FROM content WHERE sub_menu = '$menu_url' ";
$result_sub = mysql_query($sql_sub);
$num_rows = mysql_num_rows($result_sub);
while($row = mysql_fetch_assoc($result_sub))
{
$id=$row['id'];
$menu_sub=$row['menu_name'];
$sub_url=$row['menu_url'];
If ($num_rows != 0)
{
print "<ul class='sub_menu'>
<li><a href='$sub_url'>$menu_sub</a></li>
</ul>";
}
}
print "</li>";
}
?>
</ul>
</div>