Jump to content
Fórum Script Brasil
  • 0

Menu com mysql


Douglas Pascini
 Share

Question

Bom dia.

Estou com dificuldade em fazer com que o menu que criei funcione corretamente. Ele está sendo mondado (visualmente) correto, porem onde deveria fazer a chamada para um "form" não funciona, na verdade não chama nada. Por exemplo, no acesso Vendas -> Cadastro -> Produto, quando eu clicar no produto deveria abrir o "form" do cadastro de produto, porem não acontece nada. No script é possivel ver que tem a chamada para o "form" do cadastro de produto. Alem disso o script fica repetindo o nivel anterior a quantidade de vezes que o nivel possui.

Anexo esta o script e um exemplo do menu.

<?PHP

function menusis($u_login){

$userAcesso = $u_login;

## Monta um array com o menu principal

$sqlMenuPrinc = "select m.descricao, m.id idmodulo, m.modulo

from modulo m

join acesso a on a.modulo = m.id where a.usuario = $userAcesso group by m.id order by m.modulo";

$qureyMenuPrinc = mysql_query($sqlMenuPrinc);

echo "

<div id='descMenu'>Menu</div>

<div id='menu'>

<ul>

";

while ($rowMenuPrin = mysql_fetch_array($qureyMenuPrinc)) {

echo '<li><a href="#">'.strtoupper(trim($rowMenuPrin['modulo'])).'</a>'; ## nome do menu principal - MODULOS

$idModulo = $rowMenuPrin['idmodulo'];

## Busca a lista de menus

$sqlMenu = "select a.usuario, m.modulo descricao, a.descricao desc_rotina, a.modulo idmodulo, a.rotina, a.incluir, a.alterar,

a.excluir, a.relatar, a.consultar, a.nivel, a.ativo, a.link, a.icone

FROM acesso a

join modulo m on m.id = a.modulo

WHERE a.ativo = 1

and a.modulo = $idModulo

and a.usuario = $userAcesso

and substr(a.nivel,1,3) <> '999'

ORDER BY m.modulo, a.nivel, a.descricao ASC";

$queryMenu = mysql_query($sqlMenu);

$numLinha = mysql_num_rows($queryMenu);

if( $numLinha > 0){

echo "

<ul class=submenu'>

";

while ($rowMenu = mysql_fetch_array($queryMenu)) {

$lnNivel = substr_count($rowMenu['nivel], ',');

$lnNivel = $lnNivel + 1;

if ($lnNivel === 1){

echo '<li>';

echo '<a href="'.$rowMenu['link'].'">'.trim($rowMenu['desc_rotina']).'</a>

'; ## SUB-MENUS PRINCIPAIS QUE DAO ACESSO AO SUB ROTINAS

} else {

if ($lnNivel > 1 ){

echo "<ul class=submenu'>

";

$lnValorSubNivel = substr($rowMenu['nivel],0,4);

$sqlMenuSub = "select a.usuario, m.modulo descricao, a.descricao desc_rotina,

a.modulo idmodulo, a.rotina, a.incluir, a.alterar,

a.excluir, a.relatar, a.consultar, a.nivel, a.ativo, a.link, a.icone

FROM acesso a

join modulo m on m.id = a.modulo

WHERE a.ativo = 1

and a.modulo = $idModulo

and a.usuario = $userAcesso

and substr(a.nivel,1,4) = '$lnValorSubNivel'

and length(trim(a.nivel)) > 3

ORDER BY m.modulo, a.nivel, a.descricao ASC";

$queryMenuSub = mysql_query($sqlMenuSub);

while($rowSubMenu = mysql_fetch_array($queryMenuSub)){

echo '<li><a href="'.$rowMenu['link'].'">'.trim($rowSubMenu['desc_rotina']).'</a></li>

';

} #fim while submenu

echo '</ul> <!--fim da ul do submenu #fim while submenu -->

';

echo '</li>

';

} #fim if submenu

}

} # fim while

echo " </ul>

";

} # fim if

echo '</li>

';

} # fim while geral

echo "</ul>

</div>

";

}

?>

<li><a href="#">VENDA</a>

<ul class='submenu'> <!-- Inicio do sub-menu (2 nivel) -->

<li><a href="#">CADASTRO</a> <!-- Sub-menu 2 nivel-->

<ul class='submenu'>

<li><a href="produto.php">PRODUTO</a></li>

<li><a href="#">CLIENTE</a></li>

</ul> <!--fim da ul do submenu #fim while submenu -->

</li>

<ul class='submenu'>

<li><a href="produto.php">PRODUTO</a></li>

<li><a href="#">CLIENTE</a></li>

</ul> <!--fim da ul do submenu #fim while submenu -->

</li>

<li><a href="#">RELATORIO</a> <!-- Sub-menu 2 nivel-->

<ul class='submenu'>

<li><a href="#">MOVIMENTO DE PRODUTO POR CLIENTE / OPERADOR</a></li>

<li><a href="#">CLIENTE POR OPERADOR</a></li>

<li><a href="#">CLIENTES INATIVOS</a></li>

</ul> <!--fim da ul do submenu #fim while submenu -->

</li>

<ul class='submenu'>

<li><a href="#">MOVIMENTO DE PRODUTO POR CLIENTE / OPERADOR</a></li>

<li><a href="#">CLIENTE POR OPERADOR</a></li>

<li><a href="#">CLIENTES INATIVOS/a></li>

</ul> <!--fim da ul do submenu #fim while submenu -->

</li>

<ul class='submenu'>

<li><a href="#">MOVIMENTO DE PRODUTO POR CLIENTE / OPERADOR</a></li>

<li><a href="#">CLIENTE POR OPERADOR</a></li>

<li><a href="#">CLIENTES INATIVOS</a></li>

</ul> <!--fim da ul do submenu #fim while submenu -->

</li>

<li><a href="#">CONFIGURACAO</a> <!-- Sub-menu 2 nivel-->

<ul class='submenu'>

<li><a href="#">ATUALIZA preço PRODUTO COM TABELA ABCFARMA</a></li>

</ul> <!--fim da ul do submenu #fim while submenu -->

</li>

<li><a href="#">PEDIDO</a> <!-- Sub-menu 2 nivel-->

<ul class='submenu'>

<li><a href="pedido.php">PEDIDO DE VENDA</a></li>

<li><a href="#">ORCAMENTO</a></li>

</ul> <!--fim da ul do submenu #fim while submenu -->

</li>

<ul class='submenu'>

<li><a href="pedido.php">PEDIDO DE VENDA</a></li>

<li><a href="#">ORCAMENTO</a></li>

</ul> <!--fim da ul do submenu #fim while submenu -->

</li>

</ul>

</ul>

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

É o seguinte, fiz uma tabela que contem os dados de "descricao, nivel, link" que a partir dela monto meu menu, porem quando vejo o codigo que foi gerado atravez do script ele esta entrando em loop algumas vezes, sempre que o nivel maior que 1 tem outros niveis. Como pode ver no menu VENDA, tem CADASTRO e dentro dele tem CLIENTE e PRODUTO, porem esta repetindo .

Na funcao eu passo somente o codigo do usuario que esta ativo no momento, assim o pego somente os acesso que este tem que visualizar.

menu.png

<li><a href="#">VENDA</a>
<ul class='submenu'> <!-- Inicio do sub-menu (2 nivel) -->
               <li><a href="#">CADASTRO</a> <!-- Sub-menu 2 nivel-->
<ul class='submenu'>
               <li><a href="produto.php">PRODUTO</a></li>
                <li><a href="#">CLIENTE</a></li>
</ul>    <!--fim da ul do submenu #fim while submenu -->
</li> 
<ul class='submenu'>
                 <li><a href="produto.php">PRODUTO</a></li>
                 <li><a href="#">CLIENTE</a></li>
</ul>    
</li>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.8k
    • Total Posts
      648.7k
×
×
  • Create New...