<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt"> <head> <title>Accordion menu (menu sanfona)</title> <script type="text/javascript" src="menu.js"></script> </head> <body> <div id="menu"> <div onclick="abrir_menu('submenu1')"><a href="#">Menu 1</a></div> <span id="submenu1" class="submenu"> <a href="#">Opção A - menu 1</a><br /> <a href="#">Opção B - menu 1</a><br /> </span> <div onclick="abrir_menu('submenu2')"><a href="#">Menu 2</a></div> <span id="submenu2" class="submenu"> <a href="#">Opção A - menu 2</a><br /> <a href="#">Opção B - menu 2</a><br /> </span> <div onclick="abrir_menu('submenu3')"><a href="#">Menu 3</a></div> <span id="submenu3" class="submenu"> <a href="#">Opção A - menu 3</a><br /> <a href="#">Opção B - menu 3</a> </span> </div> </body> </html>
ele funciona perfeitamente, então tentei adaptar ao php para ele puxar as categorias e subcategorias que tenho no banco de dados.
Ele puxa apenas a primeira subcategoria e inclui logoabaixo da primeira categoria... ou seja, ele não faz o loop trazendo todas as sub qndo eu clico na categoria e muito menos coloca 'abaixo' da correta...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt"> <head> <title>Accordion menu (menu sanfona)</title> <script type="text/javascript" src="menu.js"></script> </head> <body> <? $host='localhost'; $user='root'; $passwd=''; $conne_db = mysql_connect($host,$user,$passwd) or die('Erro ao conectar.'.mysql_error()); $select_db = mysql_select_db('portatrabalhista',$conne_db) or die('Erro ao selecionar banco de dados.'.mysql_error()); $sql_menu = 'SELECT * FROM materias_categoria'; $query_menu = mysql_query($sql_menu,$conne_db) or die('Não foi possível realizar a consulta'.mysql_error()); for($i=0;$i<mysql_num_rows($query_menu);$i++) { $menu = mysql_fetch_array($query_menu); echo "<div id='menu'>"; echo "<div onclick=\"abrir_menu('submenu1')\"><a href='#'>'.$menu[1].'</a></div>"; $sql_sub='SELECT * FROM materias_sub WHERE materia_categoria="'.$menu[0].'"'; $query_sub = mysql_query($sql_sub) or die('Erro ao consultar submenus.'.mysql_error()); for($x=0;$x<mysql_num_rows($query_sub);$x++) { $submenu = mysql_fetch_array($query_sub); echo "<span id='submenu1' class='submenu'><a href='#'>$submenu[1]</a><br></span>"; } echo '</div>'; } ?> </body> </html>
arquivo menu.js
var persistmenu = "sim"; var persisttype = "site"; if(document.getElementById) { document.write('<style type="text/css">') document.write('.submenu{display: none;}') document.write('</style>') } function abrir_menu(obj) { if(document.getElementById) { var el = document.getElementById(obj); var ar = document.getElementById("menu").getElementsByTagName("span"); if(el.style.display != "block") { for(var i=0; i<ar.length; i++) { if(ar[ i ].className=="submenu") { ar[ i ].style.display = "none"; } } el.style.display = "block"; } else { el.style.display = "none"; } } } function get_cookie(Name) { var search = Name + "=" var returnvalue = ""; if(document.cookie.length > 0) { offset = document.cookie.indexOf(search) if(offset != -1) { offset += search.length end = document.cookie.indexOf(";", offset); if(end == -1) end = document.cookie.length; returnvalue = unescape(document.cookie.substring(offset, end)) } } return returnvalue; } function onloadfunction() { if(persistmenu=="sim") { var cookiename = (persisttype=="site")? "abrir_menu" : window.location.pathname var cookievalue = get_cookie(cookiename) if(cookievalue!="") { document.getElementById(cookievalue).style.display="block" } } } function savemenustate() { var inc=1, blockid="" while(document.getElementById("submenu"+inc)) { if(document.getElementById("submenu"+inc).style.display=="block") { blockid="submenu"+inc break } inc++ } var cookiename = (persisttype=="site")? "abrir_menu" : window.location.pathname var cookievalue = (persisttype=="site")? blockid+";path=/" : blockid document.cookie = cookiename+"="+cookievalue } if(window.addEventListener) { window.addEventListener("load", onloadfunction, false) } else if(window.attachEvent) { window.attachEvent("onload", onloadfunction) } else if(document.getElementById) { window.onload = onloadfunction } if(persistmenu=="sim" && document.getElementById) { window.onunload = savemenustate }
- HaroNism likes this