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 *