Ir para conteúdo

POWERED BY:

Sapinn

Como trazer checkbox marcados???

Recommended Posts

Como faço para trazer checkbox marcados com os dados do banco eu consigo enviar e cadastrar dados de checkbox marcados em uma tabela  SQL mas não sei como trazer os checkbox marcadas em uma listagem de PHP procedural.

Compartilhar este post


Link para o post
Compartilhar em outros sites
<span>Select languages</span><br/>
<input type="checkbox" name='lang[]' value="PHP"> PHP <br/>
<input type="checkbox" name='lang[]' value="JavaScript"> JavaScript <br/>
<input type="checkbox" name='lang[]' value="jQuery"> jQuery <br/>
<input type="checkbox" name='lang[]' value="Angular JS"> Angular JS <br/>
if(isset($_POST['submit'])){

	$valor = "";

    if(!empty($_POST['lang'])) {    
        foreach($_POST['lang'] as $value){
            $valor .= $value.',';
        }
    }

	echo $valor;

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sapinn,

faz o seguinte, você faz a query e traz os dados, faz um if dentro da inpout do checkbox para verificar se o valor que veio do banco é o mesmo que esta dentro da tag value, caso seja você da um echo na opção checked.

tipo assim:

<?php
$query = "faça a query a tragas os dados para pupular o formulario";
//use o metodo de query PDO ou MySqli e ponha e uma variavel o resultado

$chbox = "valor que veio do BD";
?>

<span>Selecione uma opção</span><br/>
<input type="checkbox" name='chbox' value="1" <?php if($chbox == 1){ echo "checked"; } ?> > Opção 1 <br/>
<input type="checkbox" name='chbox[]' value="2" <?php if($chbox == 2){ echo "checked"; } ?>> Opção 2 <br/>
<input type="checkbox" name='chbox' value="3" <?php if($chbox == 3){ echo "checked"; } ?>> Opção 3 <br/>
<input type="checkbox" name='chbox' value="4" <?php if($chbox == 4){ echo "checked"; } ?>> Opção 4 <br/>

Mais ou mnenos isso ai, lembrando que nao é regra absoluta, apenas uma forma de fazer o que você quer.

Compartilhar este post


Link para o post
Compartilhar em outros sites
13 minutos atrás, icarof disse:

Sapinn,

faz o seguinte, você faz a query e traz os dados, faz um if dentro da inpout do checkbox para verificar se o valor que veio do banco é o mesmo que esta dentro da tag value, caso seja você da um echo na opção checked.

tipo assim:


<?php
$query = "faça a query a tragas os dados para pupular o formulario";
//use o metodo de query PDO ou MySqli e ponha e uma variavel o resultado

$chbox = "valor que veio do BD";
?>

<span>Selecione uma opção</span><br/>
<input type="checkbox" name='chbox' value="1" <?php if($chbox == 1){ echo "checked"; } ?> > Opção 1 <br/>
<input type="checkbox" name='chbox[]' value="2" <?php if($chbox == 2){ echo "checked"; } ?>> Opção 2 <br/>
<input type="checkbox" name='chbox' value="3" <?php if($chbox == 3){ echo "checked"; } ?>> Opção 3 <br/>
<input type="checkbox" name='chbox' value="4" <?php if($chbox == 4){ echo "checked"; } ?>> Opção 4 <br/>

Mais ou mnenos isso ai, lembrando que nao é regra absoluta, apenas uma forma de fazer o que você quer.

 

Se forma de resolução do problema é interessante e viável. Queria aproveitar o gancho para perguntar como eu faria para por exemplo alterar os checkbox que foram marcados no banco?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso, o formulario que vai receber esses dados fica dentro de uma form, e você envia as alterações nomalmente em de insert você vai usar um update na action, a tag checked é so pra avisar que o fomulario precisa exibir esse input marcado.

 

lembrando que nesse exemplo ai que te mandei ele vai mandar esses check como uma array, você precisa fazer o foreach na sair pra gravar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo isso funcionaria também se eu usa-se por exemplo assim:

 

<?php
 $result = mysqli_query($conn,"select * from turma where codigo_professor = '".$professor['id']."'");
 while($pegaTurma = mysqli_fetch_assoc($result)) {
?>
    
       <input type="checkbox" name="marcados[]" value="<?php echo $pegaTurma['id']?>"> <?php echo $pegaTurma['nome_turma']?> - <?php echo $pegaTurma['escola_turma']?><br>
  <?php
 } 
  ?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim funciona tbm lembre de realizar o If pra validar se vai vir checado ou não

 

Dica, tente usar sempre a mesma tag php

<input type="checkbox" name="marcados[]" value="<?php echo $pegaTurma['id']?>"> <?php echo $pegaTurma['nome_turma']?> - <?php echo $pegaTurma['escola_turma']?><br>

tnte assim:

<input type="checkbox" name="marcados[]" value="<?= $pegaTurma['id']?>"> <?php echo $pegaTurma['nome_turma']."-".$pegaTurma['escola_turma']; ?><br>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por ILR master
      Fala galera, tudo certo?
       
      Seguinte: No servidor A estou tentando fazer uma consulta com o servidor B, mas está dando erro.
      Estou usando o mesmo código de conexão do servidor B que funciona perfeitamente, mas no servidor A, dá erro.
      Segue código:
       
      $host = 'servidor B';
      $user = 'user';
      $pass = '********';
      $db   = 'banco';
       
      // conexão e seleção do banco de dados
      $conexao = mysqlI_connect($host, $user, $pass, $db);
      mysqlI_set_charset($conexao,"utf8");
      //print "Conexão rodando e OK!"; 
      //mysqlI_close($conexao);
       
      Alguém pode me ajudar?
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
×

Informação importante

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