Olá pessoal,
Primeiro, Feliz Ano Novo para toda a galera do Fórum Scriptcase. Bom, enconrei um post (www.scriptcase.com.br/tutoriais/menu-dinamico/#main) na internet que mostra como montar um menu dinamicamente. Bom, eu alterei as consultas implementando de acordo com minha base de dados. Bom, já vi que as consultas estão retornando resultado, mas ainda assim não mona meu menu. Alguém poderia me dar uma luz? Segue os dados abaixo abaixo:
TABELA MÓDULOS: a000_modulos
CREATE TABLE a000_modulos (
ID INTEGER(11) UNSIGNED NOT NULL AUTO_INCREMENT,
TIPO INTEGER(11) DEFAULT NULL COMMENT ‘Receberá o ID da tabela quando o campo NOME for filho de outro registro’,
NOME VARCHAR(100) COLLATE utf8_general_ci NOT NULL,
NOMEARQUIVO VARCHAR(100) COLLATE utf8_general_ci DEFAULT NULL,
ORDEM INTEGER(11) NOT NULL DEFAULT 0,
PRIMARY KEY USING BTREE (ID),
UNIQUE KEY a000_modulos_idx1 USING BTREE (TIPO, NOME)
) ENGINE=InnoDB;
TABELA PERMISSÃO: a029_permissoes
CREATE TABLE a029_permissoes (
ID INTEGER(11) UNSIGNED NOT NULL AUTO_INCREMENT,
IDPERFIL INTEGER(11) UNSIGNED NOT NULL,
IDMODULO INTEGER(11) UNSIGNED NOT NULL,
INCLUIR INTEGER(11) NOT NULL DEFAULT 0,
ALTERAR INTEGER(11) NOT NULL DEFAULT 0,
EXCLUIR INTEGER(11) NOT NULL DEFAULT 0,
FILTRAR INTEGER(11) NOT NULL DEFAULT 0,
EXPORTAR INTEGER(11) NOT NULL DEFAULT 0,
ATIVAR INTEGER(11) DEFAULT 0,
PRIMARY KEY USING BTREE (ID),
KEY IDPERFIL USING BTREE (IDPERFIL),
KEY IDMODULO USING BTREE (IDMODULO),
CONSTRAINT a029_itensmenu_fk1 FOREIGN KEY (IDPERFIL) REFERENCES a001_perfis (ID),
CONSTRAINT a029_itensmenu_fk2 FOREIGN KEY (IDMODULO) REFERENCES a000_modulos (ID)
) ENGINE=InnoDB;
CÓDIGO DO MENU NO EVENTO ONLOAD
sc_appmenu_reset(mcr14);
sc_appmenu_create(mcr14);
$sql1 = "SELECT ID, NOME FROM a000_modulos
WHERE NOMEARQUIVO IS NULL OR NOMEARQUIVO = ‘’; ";
sc_lookup(dsmodulos, $sql1);
foreach({dsmodulos} as $arr_modulo)
{
sc_appmenu_add_item(mcr14,'item_'.$arr_modulo[0],, $arr_modulo[1],mcr14_2,catid=$arr_modulo[0];catname=$arr_modulo[1], , , );
$sql2 = "SELECT A.ID, B.NOME, B.NOMEARQUIVO, A.IDPERFIL, A.IDMODULO
FROM a029_permissoes A
INNER JOIN a000_modulos B ON (B.ID = A.IDMODULO)
WHERE A.IDMODULO = ".$arr_modulo[0]." AND A.IDPERFIL = 1 AND A.ATIVAR = 1; ";
sc_lookup(dspermissao,$sql2);
if(!empty({dspermissao}))
foreach({dspermissao} as $arr_permissao)
{
sc_appmenu_add_item('mcr14','item_'.$arr_modulo[0].$arr_permissao[0],'item_'.$arr_modulo[0], $arr_permissao[1],mcr14_1,prodid=$arr_permissao[0], , , );
}
};