Ir para conteúdo

Arquivado

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

Ricardo Godoi

Fazer comparações e marcar o checked

Recommended Posts

Ola, estou com uma duvida aqui, quero lista um checked nos input que estão ja listado no banco de dados.

a primeira consulta esta aqui

$consulta = $BancoDeDados->query_prepare("SELECT * FROM central_adm WHERE id_central_adm = :id_central_adm LIMIT 1;" , array( ':id_central_adm' => $$Config['id']));
                $dados = $BancoDeDados->fetch_object($consulta)[0];

aqui ja e a parte de onde ele pega os dados da segunda tabela, nela so tem de colunas id_central_adm e id_adm_menu

e onde vo salvar o ID da central_adm e o ID do adm_menu

 

mas nao estou conseguindo fazer com ele que ele compare se ta registro e marca o checked nos que estão salvo na tabela.

<div class="form-group">
                                    <?php
                                        $consulta_adm_menu = $BancoDeDados->query("SELECT * FROM adm_menu WHERE adm_menu_dentro_id=0 ORDER BY adm_menu_nome ASC");
                                    ?>
                                <label  class="col-lg-2 col-sm-2 control-label">Permissões</label>
                                <div class="col-sm-9 icheck minimal">
                                    <?php
                                        while ($linha = $consulta_adm_menu->fetch(PDO::FETCH_OBJ)): 
                                    ?>
                                    <div class="checkbox single-row">
                                        <input type="checkbox" value='<?php if(isset($linha->id_adm_menu)): echo $linha->id_adm_menu; endif;?>'>
                                        <label><?php if(isset($linha->adm_menu_nome)): echo $linha->adm_menu_nome; endif;?></label>
                                    </div>
                                     <?php 
                                            //endif; 
                                        endwhile;
                                    ?>
                                 </div>
                            </div>

tem algum exemplo proximo a esse para mim esta olhando?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao sei como vc fez sua tabela mas acho que não precisa do if ja que se ele entrou no loop é pq o $linha tem dados

<?php
while ($linha = $consulta_adm_menu->fetch(PDO::FETCH_OBJ)): 
  ?>
  <div class="checkbox single-row">
    <input type="checkbox" value=<?php echo "'$linha->id_adm_menu' checked";?>>
    <label><?php  echo $linha->adm_menu_nome; ?></label>

  </div>
<?php 
endwhile;
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como posso explicar melhor, tenho uma tabela so para salvar os nomes das categorias.

Em outra tabela tenho uma que so salva o ID dessa tabela categorias e o ID do menu.

 

Estou querendo fazer com que essa tabela exiba checked so nos ID que estão cadastrado nessa tabela,

Era para ser algo assim

<?php $dados->id_central_adm === $linha->id_adm_menu ? "checked" : '';?>

mas isso não esta funcionando.

 

Tabelas:

adm_menu:
+-------------+---------------+
| id_adm_menu | adm_menu_nome | 
+-------------+---------------+
|           1 | USUARIOS      | 
+-------------+---------------+

central_adm
+----------------+------------------+
| id_central_adm | central_adm_nome |
+----------------+------------------+
|             10 | GERAL            |
+----------------+------------------+

central_adm_permissoes
+----------------+-------------+
| id_central_adm | id_adm_menu | 
+----------------+-------------+
|             10 | 1           |    
+----------------+-------------+

Compartilhar este post


Link para o post
Compartilhar em outros sites

como vem o seu resultset?

pois vc compara: id_central_adm === $linha->id_adm_menu

mas sao dados de tablelas diferentes, e vc so pegou de uma tabela (central_adm) precisaria de um join

 

antes de fazer os checks, teste a sua query direto no banco de dados pra ter certeza que que esta certo e é aquilo mesmo que vc que selecionar.

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.