Forum Moderators: coopster

Message Too Old, No Replies

dynamic menu problem

         

NeRu

12:45 pm on Feb 14, 2006 (gmt 0)

10+ Year Member



i try to make a dynamic menu.
my mysql table is like that
menuID
menuGroup
menuName
menuLink
Parent
ParentQue
SubQue

in this table menuGroup indicates the group where a submenu bind to a parentmenu. ParentQue and SubQue are the sorting variables.

then, my codes like that

<?php
mysql_select_db($database);
$query_rs_menu = "SELECT * FROM menu WHERE mParent = 1 ORDER BY ParentQue ASC";
$rs_menu = mysql_query($query_rs_menu) or die(mysql_error());
$row_rs_menu = mysql_fetch_assoc($rs_menu);
$totalRows_rs_menu = mysql_num_rows($rs_menu);

$query_rs_submenu = "SELECT * FROM menu WHERE Parent = 0 ORDER BY SubQue ASC";
$rs_submenu = mysql_query($query_rs_submenu) or die(mysql_error());
$row_rs_submenu = mysql_fetch_assoc($rs_submenu);
$totalRows_rs_submenu = mysql_num_rows($rs_submenu);
?>
<ul id="menu">
<?php do {?>
<ul> <a href="<?php echo $row_rs_menu['menuLink'];?>"><?php echo $row_rs_menu['menuName'];?></a>
<?php if($row_rs_menu['menuGroup'] == $row_rs_submenu['menuGroup']){ do {?>
<li><a href="<?php echo $row_rs_submenu['menuLink'];?>"><?php echo $row_rs_submenu['menuName'];?></a></li>
<?php }while ($row_rs_submenu = mysql_fetch_assoc($rs_submenu)); }?>
</ul>
<?php } while ($row_rs_menu = mysql_fetch_assoc($rs_menu));?>
</ul>
<?php
mysql_free_result($rs_menu);

mysql_free_result($rs_submenu);
?>

this codes gives a result as

Home
Submenu1
Submenu2
About
Contact
News

where Home's menuGroup is 1, About's menuGroup 2, Contact's menuGroup is 3, News menuGroup is 4 and Submenu1's menuGroup is 1, Submenu2's menuGroup is 3

as a result i want to show the menu as
Home
Submenu1
About
Contact
Submenu2
News

jatar_k

8:58 pm on Feb 14, 2006 (gmt 0)

WebmasterWorld Administrator 10+ Year Member



you could change the way you build your array

maybe 2 selects

1. select top level menu items
2. select all other menu items

this way you could maybe do multipl arrays or build one big multi dimensional array that would be easier to walk through