Menus aren't displaying

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
User avatar
cturner
Forum Contributor
Posts: 153
Joined: Sun Jul 16, 2006 3:03 am
Location: My computer

Menus aren't displaying

Post by cturner »

I am wanting to display buttons with menus to match those buttons. However I have tried this and it isn't working for me. So can someone please have a look at my code that is below and tell if there is a better way of doing this? I know there is a lot of my code but I would appreciate any helpful answer. Thanks in advance.

The code for the menus:

Code: Select all

require "config.php";
// display the javascript menus
echo '<script type="text/javascript">';
echo "\n<!--\n";
echo "\nfunction mmLoadMenus() {\n";
// display the menus
// get the menu name for each menu
$query2 = mysql_query("SELECT menuname, pagetitle FROM menu WHERE menuname != 'Alone' GROUP BY menuname") or die ("Could not query because: ".mysql_error());
while ($row2 = mysql_fetch_array($query2)) {
    $menuname = $row2['menuname'];
   
// get the menuname, pagetitle, submenu, subid and id number
// for the sub menu
$query3 = mysql_query("SELECT id, menuname, pagetitle, submenu, subid FROM menu WHERE menuname = '$menuname' GROUP BY menuname") or die ("Could not query because: ".mysql_error());
while ($row3 = mysql_fetch_array($query3)) {   
    $menu_id = "mm_menu_".$row3['id'];
    $submenu = $row3['submenu'];
    $menuname = $row3['menuname'];
    // if submenu = yes
    if ($row3['submenu'] == 'Yes') {
        $query5 = mysql_query("SELECT menuname, pagetitle, submenu, subid FROM menu WHERE menuname = '$menuname' GROUP BY submenu") or die ("Could not query because: ".mysql_error());
        while ($row5 = mysql_fetch_array($query5)) {
            $pagetitle = $row5['pagetitle'];
            $menu_id2 = "mm_menu_".$row5['subid'];
        echo "if (window.".$menu_id.") return;\n";
        // display the page title for sub menu
        echo "window.".$menu_id2." = new Menu(\"".$pagetitle."\",67,20,\"Verdana, Arial, Helvetica, sans-serif\",10,\"#ffffff\",\"#ffffff\",\"#00397a\",\"#0046c2\",\"left\",\",middle\",3,0,1000,0,0,true,false,true,0,true,true);\n";
        // display the sub menu page title
        echo $menu_id2.".addMenuItem(\"".$row3['pagetitle']."\",\"location='page.php?page=".$row3['pagetitle']."'\");\n";
        echo $menu_id2.".hideOnMouseOut=true;\n";
        echo $menu_id2.".menuBorder=0;\n";
        echo $menu_id2.".menuItemBorder=0;\n";
        echo $menu_id2.".menuLiteBgColor='#ffffff';\n";
        echo $menu_id2.".menuBorderBgColor='#555555';\n";
        echo $menu_id2.".bgColor='#555555';\n";
        echo "window.".$menu_id." = new Menu(\"root\",142,20,\"Verdana, Arial, Helvetica, sans-serif\",10,\"#ffffff\",\"#ffffff\",\"#00397a\",\"#0046c2\",\"left\",\"middle\",3,0,1000,-5,7,true,false,true,0,true,true);\n";
        echo $menu_id.".addMenuItem(".$menu_id2.",\"location='page.php?page=".$pagetitle."'\");\n";
        echo $menu_id.".hideOnMouseOut=true;\n";
        echo $menu_id.".childMenuIcon=\"arrows.gif\";\n";
        echo $menu_id.".menuItemBorder=0;\n";
        echo $menu_id.".menuLiteBgColor='#ffffff';\n";
        echo $menu_id.".menuBorderBgColor='#555555';\n";
        echo $menu_id.".bgColor='#555555';\n\n";
        }
    } else {
    // if submenu = no     
    echo "if (window.".$menu_id.") return;\n";
    echo "window.".$menu_id." = new Menu(\"root\",142,20,\"Verdana, Arial, Helvetica, sans-serif\",10,\"#ffffff\",\"#ffffff\",\"#00397a\",\"#0046c2\",\"left\",\"middle\",3,0,1000,-5,7,true,false,true,0,true,true);\n";
 
    // get the menu name and page title
    // for the non sub menu
    $query4 = mysql_query("SELECT menuname, pagetitle FROM menu WHERE menuname = '$menuname'") or die ("Could not query because: ".mysql_error());
    while ($row4 = mysql_fetch_array($query4)) {
        $add_menu_item = "addMenuItem(\"".$row4['pagetitle']."\",location='page.php?page=".$row4['pagetitle']."')";
        echo $menu_id.".".$add_menu_item.";\n";
    }
        echo $menu_id.".hideOnMouseOut=true;\n";
        echo $menu_id.".menuBorder=0;\n";
        echo $menu_id.".menuItemBorder=0;\n";
        echo $menu_id.".menuLiteBgColor='#ffffff';\n";
        echo $menu_id.".menuBorderBgColor='#555555';\n";
        echo $menu_id.".bgColor='#555555';\n\n";
    }
    }
    echo $menu_id.".writeMenus();\n\n";
}
    echo "}\n";
echo "}\n";
echo "//-->\n";
echo '</script>';
The code for the buttons:

Code: Select all

// buttons go here
    $query2 = mysql_query("SELECT * FROM pages LEFT JOIN menu ON pages.menuid = menu.id") or die ("Could not query because: " . mysql_error());
    while ($row2 = mysql_fetch_array($query2)) {
        $menuname = $row2['menuname'];
        if ($menuname != 'Alone') {
            $pagetitle = str_replace('%20', '', $row3['pagetitle']);           
            echo "<a href=http://www.blueguminteractive.biz/bdgp/admin/page.php?page=".$row3['pagetitle']."><img src=http://www.blueguminteractive.biz/bdgp/admin/images/".$row3['button']."btn.jpeg name=".$pagetitle."btn id=".$pagetitle."btn usemap=#".$pagetitle."btn border=0></a>";
            echo "<map name=m_".$pagetitle."_menu id=m_".$pagetitle."_menu><area shape=rect coords=0,0,200,23 href=page.php?page=".$row3['pagetitle'].".php alt=".$pagetitle." onmouseout=MM_startTimeout(); onmouseover=MM_showMenu(window.mm_menu_".$row3['id']."_0,200,0,null,'".$pagetitle."_menu'); /></map>";
        } else {
            echo "<a href=http://www.blueguminteractive.biz/bdgp/admin/page.php?page=".$row3['pagetitle']."><img src=http://www.blueguminteractive.biz/bdgp/admin/images/".$row3['button']."btn.jpeg border=0></a>";
        }
}
// the resources button
echo "<a href=\"resources.php\"><img src=\"http://www.blueguminteractive.biz/bdgp/admin/images/resourcesbtn.jpeg\" border=\"0\"></a>";
// the member's login button
echo "<a href=\"memberslogin.php\"><img src=\"http://www.blueguminteractive.biz/bdgp/admin/images/membersloginbtn.jpeg\" border=\"0\"></a>";
// add a page button
echo "<a href=\"add_page.php\"><img src=\"http://www.blueguminteractive.biz/bdgp/admin/images/addapagebtn.jpeg\" border=\"0\"></a>";
 
// display the hotspot for the buttons
$query4 = mysql_query("SELECT * FROM menu WHERE menuname != 'Alone' GROUP BY pagetitle") or die ("Could not query because: ".mysql_error());
while ($row4 = mysql_fetch_array($query4)) {
$pagetitle = str_replace(' ', '', $row4['pagetitle']);
if ($row4['submenu'] == 'No') {
    echo "<map name=m_".$pagetitle."_menu id=m_".$pagetitle."_menu><area shape=rect coords=0,0,200,23 href=page.php?page=".$row4['pagetitle'].".php alt=".$pagetitle." onmouseout=MM_startTimeout(); onmouseover=MM_showMenu(window.mm_menu_".$row4['id']."_0,200,0,null,'".$pagetitle."_menu'); /></map>";
} else {
    echo "<map name=m_".$pagetitle."_menu id=m_".$pagetitle."_menu><area shape=rect coords=0,0,200,23 href=page.php?page=".$row4['pagetitle'].".php alt=".$pagetitle." onmouseout=MM_startTimeout(); onmouseover=MM_showMenu(window.mm_menu_".$row4['subid']."_0,200,0,null,'".$pagetitle."_menu'); /></map>";
}
}
mysql_close();
User avatar
John Cartwright
Site Admin
Posts: 11470
Joined: Tue Dec 23, 2003 2:10 am
Location: Toronto
Contact:

Post by John Cartwright »

You aren't seriously expecting someone to look through that tag soup for you, are you?

Please narrow the problem down a bit by identifying where it is going wrong. Echo'ing or var_dump()'ing variables throughout your script often will provide you, and us, helpful information.

Also, what is the outputting you are getting? Errors?

Try adding

Code: Select all

ini_set('display_errors', 'on');
error_reporting(E_ALL);
to see if you have any errors or notices
User avatar
cturner
Forum Contributor
Posts: 153
Joined: Sun Jul 16, 2006 3:03 am
Location: My computer

Post by cturner »

I placed that code in my code and it didn't help me.

Maybe if I explain what I want to do maybe someone might be able to guide me. Because as I have said this isn't working for me at all. Well I need to create JavaScript menus using php and mysql. I can display the menus and buttons but I can't match the menu with the right button. My tables are below.

Menu table:
id // autocremented primary key
menuname
submenuname
pagetitle
submenu
subid

Pages table:
pagesid // autocremented primary key
menuid
page_title
button
// rest is irrevelant
User avatar
CoderGoblin
DevNet Resident
Posts: 1425
Joined: Tue Mar 16, 2004 10:03 am
Location: Aachen, Germany

Post by CoderGoblin »

Why use PHP to output javascript to output HTML. Surely it makes sense to simply output the HTML for the menus without complicating life. Also bear in mind that not everybody uses javascript. Menu navigation should not just be for those people who do.
User avatar
aceconcepts
DevNet Resident
Posts: 1424
Joined: Mon Feb 06, 2006 11:26 am
Location: London

Post by aceconcepts »

Why not use some nice CSS...usually works well for menus!
User avatar
cturner
Forum Contributor
Posts: 153
Joined: Sun Jul 16, 2006 3:03 am
Location: My computer

Post by cturner »

I have been using JavaScript because it was generated by Fireworks (the easier and quicker way). I don't know how make a css menu. To me it will seem complicated.
Post Reply