Ir para conteúdo

Arquivado

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

Caio Oliveira_117731

Checkbox dinâmico.

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

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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...

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros 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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
×

Informação importante

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