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

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

  1. 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.

Deixe um comentário

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

Rolar para cima