The right page links for each menu isn't working

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

The right page links for each menu isn't working

Post by cturner »

I am trying to display javascript menus using php. Most of my code displays the javascript code however displaying the right page links for each menu, isn't working for me. For example the javascript code should look like this: mm_menu_1.addMenuItem("BDGP BOARD","location='page.php?page=BDGP+Board'") ;. So can someone please have a look at my code and tell how I can achieve the above? Thanks in advance.

Code: Select all

$query = mysql_query("SELECT menuname, pagetitle, menuid FROM menu LEFT JOIN pages ON menu.menuname = pages.menuid") or die ("Could not query because: ".mysql_error());
 
echo '<script type="text/javascript">';
echo "\nfunction mmLoadMenus() {\n";
while($row=mysql_fetch_assoc($query)) {
 
$add_menu_item = "addMenuItem(".$row['pagetitle'].",location=page.php?page=".$row['pagetitle'].")";
$menu_id = "mm_menu_".$row['menuid'];
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";
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 '</script>';
User avatar
feyd
Neighborhood Spidermoddy
Posts: 31559
Joined: Mon Mar 29, 2004 3:24 pm
Location: Bothell, Washington, USA

Post by feyd »

Your code will be missing several quote marks it appears.
User avatar
cturner
Forum Contributor
Posts: 153
Joined: Sun Jul 16, 2006 3:03 am
Location: My computer

Post by cturner »

I have fixed the quote marks problem, at least the ones that I could see. If you mean this row of code: 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";,. There are several that are mean to not have quote marks.

Here is the updated code:

Code: Select all

$query = mysql_query("SELECT menuname, pagetitle, menuid FROM menu LEFT JOIN pages ON menu.menuname = pages.menuid") or die ("Could not query because: ".mysql_error());

echo '<script type="text/javascript">';
echo "\nfunction mmLoadMenus() {\n";
while($row=mysql_fetch_assoc($query)) {

$add_menu_item = "addMenuItem(".$row['pagetitle'].",location=page.php?page=".$row['pagetitle'].")";
$menu_id = "mm_menu_".$row['menuid'];
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";
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 '</script>';
Post Reply