PHP: Trabalhando o resultado obtido de uma consulta sql (checkbox)
Continuando a nossa batalha de códigos… vamos a mais um post.
A tabela abaixo (produtos) possui um campo chamado “ativo” e através desse campo será definido se o input type=’checkbox’ ficará marcado ou não.
O campo “ativo” receberá os valores 0 = não (ex: não exibir no site de vendas) e 1 = sim (exibir no site de vendas).
Veja como ficará a nossa tabela:
CREATE TABLE IF NOT EXISTS `produtos` ( `codigo` int(3) unsigned zerofill NOT NULL AUTO_INCREMENT, `descricao` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `ativo` int(1) NOT NULL DEFAULT '0', PRIMARY KEY (`codigo`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ; INSERT INTO `produtos` (`codigo`, `descricao`, `ativo`) VALUES (001, 'Produto1', 0), (002, 'Produto2', 1), (003, 'Produto3', 0), (004, 'Produto4', 1); |
Vamos ao código PHP:
<?php // variaveis para acesso ao banco de dados $servidor = 'localhost'; $username = 'root'; $password = ''; $database = 'lc'; // validando a conexao $conexao = mysql_connect($servidor, $username, $password) or die("Erro ao conectar ao banco de dados"); $db = mysql_select_db($database) or die("Erro ao selecionar banco de dados"); // efetuando um select na tabela Produtos $select = mysql_query("SELECT codigo, descricao, ativo FROM produtos"); // exibindo o resultado echo "<strong>Produtos</strong>:"; echo "<br />"; while ($rows = mysql_fetch_array($select)) { // recebendo o valor do campo ativo $check = $rows['ativo']; // se valor for igual a 1 é selecionado if ($check == 1) { $checked = "checked"; } else { // senão, fica em branco $checked = ""; } echo "<strong>Código</strong>: " . $rows['codigo']; echo " - "; echo "<strong>Descrição</strong>: " . $rows['descricao']; echo " - "; echo "<strong>Ativo</strong> <input type='checkbox' $checked /> "; echo "<br />"; } ?> |
Resultado:
Otimo post, porem nao funcionou no codigo que utilizei, o checkbox esta exibindo todos os campos marcados.
Olá Priscila,
por favor, compartilha o código para que eu possa te ajudar.
O código acima foi testado e funciona perfeitamente.
Quase isso!!
Tenho um formulario com box vindo do banco de dados.
Como faço um INSERT com os box’s selecionados?
segue link com resposta.
Olá, gostaria de uma ajuda ,tenho uma tabela com os campos direçao, velocidade, pressão,temperatura ..etc. Preciso criar um layout com checkbox, dos campos da tabela “meteoro”. Preciso mostrar na tela somente os valores dos checkbox selecionados e não todos, como fazer isso , estou sem noção alguma. A tabela foi criada no mysql. Ou seja, se o usuario seleciona apenas direcao e velocidade, tenho que mostrar na tela os valores do mesmos.