Jump to content

Recommended Posts

Olá galera,

fiz uma daquelas aulas online de php e o professor ensinou a fazer um SELECT(HTML) dinâmico.

Porém eu gostaria de fazer um CHECKBOX(HTML) dinâmico.

/* Arquivo: user-research-db.php */

require_once("connect.php");

function listaPesquisas($conexao) {
	$pesquisas = array();
	$query = "select * from pesquisa";
	$resultado = mysqli_query($conexao, $query);
	while($pesquisa = mysqli_fetch_assoc($resultado)) {
		array_push($pesquisas, $pesquisa);
	}
	return $pesquisas;
}

require_once("connect.php");
require_once("user-research-db.php");
$pesquisas = listaPesquisas($conexao);

<select name="pesquisa_id" class="form-control">
            <?php foreach($pesquisas as $pesquisa) :
              $essaEhAPesquisa = $usuario['pesquisa_id'] == $pesquisa['id'];
              $selecao = $essaEhAPesquisa ? "selected='selected'" : "";
              ?>
              <option value="<?=$pesquisa['id']?>" <?=$selecao?>>
                  <?=$pesquisa['nome']?>
              </option>
            <?php endforeach ?>
</select>

Está tudo funcionando perfeitamente, eu só gostaria de trocar o SELECT para CHECKBOX.

Agradeço a atenção galera!

abraço

Share this post


Link to post
Share on other sites

Pq um checkbox? Pode fazer um select multiplo :)

Valeu pela resposta rnu.silva!

eu não sabia desse atributo, testei e não gostei muito...

pra selecionar mais de uma opção tive que apertar o CTRL, acredito que muitos usuários mais leigos não irão saber utilizar. sem contar que ele não é muito bonito.

 

mas de qualquer forma, agradeço muito a sua ajuda.

Share this post


Link to post
Share on other sites

Em todo caso,

 

a estrutura do checkbox é essa:

 

Título:<input type="checkbox" name="meuItem">

 

Então, o que voce precisa é jogar essa estrutura dentro do seu laço que carrega os dados do bd. Ai basta colocar um título e um name condizentes com o que vier do seu bd...

  • +1 1

Share this post


Link to post
Share on other sites

Em todo caso,

 

a estrutura do checkbox é essa:

Título:<input type="checkbox" name="meuItem">

Então, o que voce precisa é jogar essa estrutura dentro do seu laço que carrega os dados do bd. Ai basta colocar um título e um name condizentes com o que vier do seu bd...

 

Sim.. é isso que preciso saber, como aplicar o checkbox dentro desse laço para que toda vez que houver um insert em meu banco de dados, ele atualizar automaticamente a minha página.

 

de qualquer forma agradeço seu comentário.

Share this post


Link to post
Share on other sites

Se voce sabe fazer o select dinâmico, vai na mesma linha. No select, dentro das tags option você coloca os valores que vierem do banco... no caso do checkbox você coloca a identificação ao lado e o valor no atributo name.

 

Imagine que eu faço um select que me retorne as seguintes cores:

 

id nome_cor

1 azul

2 verde

3 amarelo

 

Então, pra criar um laço e retornar esses valores como checkbox, eu crio a seguinte estrutura:

$query = mysql_query("select * from cores;");
 
//criando meu laço que vai consultar cada linha encontrada
while($ln = mysql_fetch_array($query)){
    $nomeCor = $ln['nome_cor'];
    $idCor = $ln['id'];
   
   echo "<label>$nomeCor: </label><input type='checkbox' name='$idCor'>";
}

Assim, você buscou as informações do banco e criou um check pra cada cor que existia la.

Edited by rnu.silva
  • +1 1

Share this post


Link to post
Share on other sites

Valeu rnu.silva !

consegui dessa maneira aqui:

 

 

Quando for registrar o usuario:

/* registrar.php */

<?php foreach($pesquisas as $pesquisa) :

?>
  <input type="checkbox" name="pesquisa_id[]" value="<?=$pesquisa['id']?>" checked>
   <?=$pesquisa['nome']?><br>
<?php endforeach ?>

/* Function */

function listaPesquisas($conexao) {
	$pesquisas = array();
	$query = "select * from pesquisa";
	$resultado = mysqli_query($conexao, $query);
	while($pesquisa = mysqli_fetch_assoc($resultado)) {
		array_push($pesquisas, $pesquisa);
	}
	return $pesquisas;
}

E para buscar as "pesquisas" do usuário logado (Alterar dados do perfil) :

/* alterar-perfil.php */

<?php foreach($pesquisas as $pesquisa) :
 if(strpbrk($user['pesquisa_id'], $pesquisa['id'])){
  $selecao = "checked";

 }else{
  $selecao = "";
 }

 ?>
 <input type="checkbox" name="pesquisa_id[]" value="<?=$pesquisa['id']?>" <?=$selecao?>>
 <?=$pesquisa['nome']?><br>
<?php endforeach ?>

Abraço a todos!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Rebeca Julia Bronzatti
      Como salvar um formulário que possui duas tabelas, tenho uma tabela imóvel e outra arquivoimagem, gostaria de saber como salvar as duas, vi algumas coisas como dar um insert de cada vez no entanto eu não consigo recuperar a imagem, ele nem entra no if pra salvar a imagem. Se alguém puder me ajudar agradeço e muito to batendo a cabeça faz um tempo e não consigo resolver o bo.
       
      <?php include 'Conexao.php'; $nome = $_POST['nome']; $idade = $_POST['idade']; $sexo = $_POST['sexo']; $arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : ""; $sql = "INSERT INTO usuario(nome, idade, sexo) VALUES ('$nome', '$idade', '$sexo')"; $resultado = mysqli_query($cnn, $sql); if(!$sql){ echo 'não salvou'; }else{ echo 'salvou'; } if (isset($_FILES['arquivo'])) { $nome = $arquivo['name']; $tiposPermitidos = ['jpg', 'jpeg', 'png']; $quantArquivos = count($_FILES['arquivo']['name']); $contador = 0; while ($contador < $quantArquivos) { $extensao = pathinfo($_FILES['arquivo']['name'][$contador], PATHINFO_EXTENSION); $temporario = $_FILES['arquivo']['tmp_name'][$contador]; if (in_array($extensao, $tiposPermitidos)) { $tamanho = $arquivo ['size']; $novo_nome = uniqid().".$extensao" ; $diretorio = "upload/"; if(move_uploaded_file($temporario, $diretorio . $novo_nome)){ echo "Upload feito com sucesso $novo_nome<br>"; $sql_code = "INSERT INTO arquivoimagem (arquivo, data) VALUE ('$novo_nome', NOW())"; header("Location: MostraImagem.php"); if (mysqli_query($cnn, $sql_code)) { $msg = "Arquivo enviado com sucesso!"; } else { $msg = "Falha ao enviar arquivo"; } } } else { print "Tipo de arquivo não permitido"; } $contador++; } }
          
       
    • By Michael Cats
      Boa tarde,
       
      Preciso fazer um verificação, no ad criamos um grupo e somente esse grupo pode ter acesso ao conteudo.
      tenho um tela de login e depois preciso da verificação desse usuario no grupo do ad.
       
      Alguem pode me ajudar desde ja agradeço...
      Qualquer ajuda e bem vinda...
    • By violin101
      Caros amigos, saudações...
       
      Desculpa em recorrer aos amigos, com minha dúvida um pouco ingênua, se postei minha dúvida na opção errada, peço desculpas.
       
      Tenho 3(três) INPUT's que são:
      -----: quantidade
      -----: valor unitário
      -----: valor total
       
      Como faço para enquanto o INPUT do campo VALOR TOTAL for igual a 0,00 ---> o botão de GRAVAR fica desabilitado ?
       
      Tem como capturar através do JAVASCRIPT ?
       
      Grato,
       
      Cesar
       
    • By EvertonFD
      Bom dia preciso de uma ajuda tenho que fazer parecer um btn em php quando o id da url for=3
      esse é o codigo mas o btn aparece mas não encaminha o link se alguem puder me ajudar agradeço
      <?php 
       $result_colaborador = " SELECT * FROM sts_colaborador  WHERE categoria_id=$id";
              $resultado_colaborador = mysqli_query( $conn, $result_colaborador );
              $row_colaborador = mysqli_fetch_assoc( $resultado_colaborador ); 
          $id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT);
          $link= '';        
      if ($id == 3){
          echo "<a href='colaborador?id=<?php echo $row_colaborador ['id']; ?>class='btn btn-info'>teste</a>";
      }
      ?>
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.