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:

Resultado do checkbox

4 comentários em “PHP: Trabalhando o resultado obtido de uma consulta sql (checkbox)

  • 25 de agosto de 2010 em 17:39
    Permalink

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

    Resposta
    • 25 de agosto de 2010 em 19:55
      Permalink

      Olá Priscila,

      por favor, compartilha o código para que eu possa te ajudar.

      O código acima foi testado e funciona perfeitamente.

      Resposta
  • 14 de agosto de 2013 em 17:53
    Permalink

    Quase isso!!
    Tenho um formulario com box vindo do banco de dados.
    Como faço um INSERT com os box’s selecionados?

    Resposta

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *