exibir menu conforme groupos

A duvida é o seguinte, o usuario pertence a dois grupos e é listado conforme a sql abaixo, apos isso é feito uma verificacao se ele pertencer a( grupo 2 e grupo 3) esconder item 1 , item 2 e item 3, porem , ele so esta entrando no laco do pertence ao grupo 2, nao sei o que estou fazendo de errado

$sql=
“SELECT
group_id
FROM
sec_users_groups
WHERE
login = '”. [usr_login] ."’";

  sc_lookup(ds,$sql);

$group_id={ds[0][0]};

if ($group_id == 0){
sc_redir(login);
} else
if ( $group_id == 2 and $group_id == 3){//------ nao esta entrando nesse laço apesar do usuario ter o grupo 2 e 3
sc_menu_delete(item_1);
sc_menu_delete(item_2);
sc_menu_delete(item_3);
} else
if ($group_id == 2 ){ //--------------------------- esta entrando somente nesse laço
sc_menu_delete(item_100);

}

else
{
sc_reset_menu_delete();

};

1 Curtida

Arquimedes bom dia,

Aqui:

if ( $group_id == 2 and $group_id == 3)

Troque o AND por OR. o $group_id nunca será os dois códigos ao mesmo tempo. Então faça assim:

if ( $group_id == 2 || $group_id == 3)

obriagado Kleyber, mais o resultado da sql pode vir mais de um códigos , pois a tabela que é feito a pesquisa é uma n X n, ai nesse caso estou querendo saber quantos grupos o usuario pertence, e caso ele pertença ao grupo 2 e 3 devera esconder os item 1 e 2 do menu.

Certo Arquimedes, mas concorda comigo que o $group_id vai receber um código de cada vez? Então nesse caso se vem mais códigos, vais ter que fazer um laço pra verificação dos grupos, pra depois esconder os ítens do menu que desejas.