Page 1 of 1

The right page links for each menu isn't working

Posted: Tue Aug 14, 2007 11:17 pm
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>';

Posted: Tue Aug 14, 2007 11:47 pm
by feyd
Your code will be missing several quote marks it appears.

Posted: Wed Aug 15, 2007 12:01 am
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>';