Olá colegas, eu venho avançando a cada dia na programação em PHP mas eu travei em uma estrutura e queria a ajuda dos colegas mais experientes.
Eu tenho 3 tabelas:
Adm_Funcionarios_Usuarios - contem login e senha
# login, senha
jose, 1234
Sis_Setores: aonde tem os nomes dos módulos e os links dele. Ex. Administrativo, Financeiro, etc.
# linkNome link
administrativo administrativo.php
financeiro financeiro.php
vendas vendas.php
Adm_Funcionarios_Usuarios_Acessos - contem login e módulos
# login, autorizados
jose, administrativo, financeiro
Hoje eu só uso o menu carregando todas as opções
$sql = "SELECT * FROM Sis_Setores WHERE linkNome = '$Sistema' AND situacao = 1;";
$return = mysqli_query($conexao, $sql) or trigger_error(" Query falhou! SQL: $sql - Error: ".mysqli_error(), E_USER_ERROR);
while($LinhaMenu = mysqli_fetch_assoc($return))
{
echo '<a href="'.$LinhaMenu["link"].'" target="_self">'.$LinhaMenu["linkNome"]."</a>";
}
O que eu estou tentando fazer é: (levando em consideração que eu já tenha as informações do usuário logado)
1 - Verifica quem é a pessoa logada / Já tenho isso pronto
2 - Verifica se a pessoa logada existe na tabela Adm_Funcionarios_Usuarios_Acessos no campo login / Já tenho isso pronto
Não estou conseguindo fazer
3 - Verifica na tabela Adm_Funcionarios_Usuarios_Acessos o campo autorizados os módulos que serão carregados
4 - Percorre a array com os valores, exemplo: administrativo, vendas
5 - Se existe na array a palavra administrativo que também existe no campo linkNome da tabela Sis_Setores
6 - Carrega no menu apenas os links que existem dentro da array.
O que eu tentei fazer sem sucesso (coisas de café com leite):
$sql = "SELECT autorizados FROM Adm_Funcionarios_Usuarios_Acessos WHERE iduser = 1;";
$return = mysqli_query($conexao, $sql) or die(mysqli_error($conexao));
if(!$result = mysqli_fetch_array($return))
{
echo "Deu Ruim no SQL dos Acessos";
}
else
{
$autorizados = $result["autorizados"];
//echo $autorizados;
foreach($autorizados as $valor)
{
$sql = "SELECT * FROM Sis_Setores WHERE linkNome = '$autorizados' AND situacao = 1;";
$return = mysqli_query($conexao, $sql) or trigger_error(" Query falhou! SQL: $sql - Error: ".mysqli_error(), E_USER_ERROR);
while($LinhaMenu = mysqli_fetch_assoc($LinksSubSistema))
{
echo '<a href="'.$LinhaMenu["link"].'" target="_self">'.$LinhaMenu["linkNome"]."</a>".$br;
}
}
}
O erro que dá é
Warning: Invalid argument supplied for foreach() in testeArray.php on line 50 //Linha 50 -> foreach($autorizados as $valor)
Agradeço desde já aos colegas.