Continuando a nossa batalha de códigos… vamos a mais um post destacando o tratamento dos dados retornados de uma consulta a base de dados.
Vale lembrar, que sempre estarei abordando o banco de dados MySQL, ok?!
Neste post eu disponibilizo a estrutura de uma tabela chamada “produtos” para utilização nos exemplos.
Aproveitando a tabela “produtos” vamos acrescentar mais um campo. O campo será chamado “ativo” e 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:

Related posts:


Otimo post, porem nao funcionou no codigo que utilizei, o checkbox esta exibindo todos os campos marcados.