Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

edinhorod

Exibir valores no checklist

Recommended Posts

Olá,

Estou fazendo um sistema de permissão para usuários. Tenho uma tabela no banco com todos os menus do sistema, uma tabela de usuários e uma ligação entre elas onde gravo o código do usuário e o código do menu que ele tem permissão. O meu problema é na hora de recuperar as permissões do usuário:

01 - Para exibir todas as permissões:

<table class="pag" >
   <tr>
      <th>Menu</th>
      <th>Selecionar</th>
   </tr>
<?php
if (isset($lista_menu)) {
   foreach ($lista_menu as $lm) {
      echo "
        <tr>
          <td>" . $lp->getMen_texto() . "</td>
          <td><input " . $checado . " type=\"checkbox\" name=\"menu[]\" value=\"" . $lp->getCod_menu() . "\" /></td>
        </tr>";
   }
?>                            
</table>
}

Agora preciso que quando o admin selecionar um usuário no botão select, mostre todas as permissões mas aquelas que o usuário selecionado tem acesso apareçam selecionadas. Da maneira abaixo ele traz somente as permissões que o usuário acesso:

if (isset($lista_menu)) {
   foreach ($lista_menu as $lm) {
      foreach ($lista_permissoes as $lp) {                                    
          if ($lp->getCod_menu() == $lm->getCod_menu()) {
              $checado = "checked";
               echo "
                  <tr>
                     <td>" . $lp->getMen_texto() . "</td>
                     <td><input " . $checado . " type=\"checkbox\" name=\"menu[]\" value=\"" . $lp->getCod_menu() . "\" /></td>
                  </tr>";
           } 
   }
                                    
}
                            }

Alguém teria alguma luz? Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

se eu entendi bem o q você quer:

 

if (isset($lista_menu)) {
foreach ($lista_menu as $lm) {
foreach ($lista_permissoes as $lp) { 
if ($lp->getCod_menu() == $lm->getCod_menu()) $checado = "checked";
echo "
<tr>
<td>" . $lp->getMen_texto() . "</td>
<td><input " . $checado . " type=\"checkbox\" name=\"menu[]\" value=\"" . $lp->getCod_menu() . "\" /></td>
</tr>";


}


}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá merlinus, obrigado por ter respondido.

Já havia tentado desse jeito, mas ele mostra apenas os itens que o usuário tem permissão.

Eu queria que mostrasse todos os itens e os que o usuário tem permissão aparecessem selecionados.

Vou explicar melhor:

01-Ao abrir a página

tela01.jpg

Código da tela 01

if (isset($lista_menu)) {
  foreach ($lista_menu as $lm) {
     echo "
        <tr>
           <td>" . $lm->getMen_texto() . "</td>
           <td><input " . $checado . " type=\"checkbox\" name=\"menu[]\" value=\"" . $lm->getCod_menu() . "\" /></td>
         </tr>";
   }
} 

02-Ao selecionar um usuário e clicar no bt Buscar Usuário (como deveria ser):

tela02.jpg

03-Como está:

tela03.jpg

Código da Tela 03

if (isset($lista_menu)) {
  foreach ($lista_menu as $lm) {
     foreach ($lista_permissoes as $lp) {
         if ($lp->getCod_menu() == $lm->getCod_menu()) {
            $checado = "checked";
            echo "<tr>
                    <td>" . $lp->getMen_texto() . "</td>
                    <td><input " . $checado . " type=\"checkbox\" name=\"menu[]\" value=\"" . $lp->getCod_menu() . "\" /></td>
                  </tr>";
          }
      }
  }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.