Concorra ao sorteio do livro Decisões com B.I. escrito pelo nosso colunista Fábio Primak. Clique aqui para participar.
Vamos ver um exemplo de como é possível deletar múltiplos registros com checkbox, utilizando o Dreamweaver, PHP e Mysql.
Grau de dificuldade: 7
Olá turma!
Vamos ver um exemplo de como é possível deletar múltiplos registros com checkbox, utilizando o Dreamweaver, PHP e Mysql:
1) Inicialmente, vamos criar a nossa tabela e populá-la com dados que servirão de teste para nosso exemplo. Segue abaixo o comando sql:
Tabela produtos
CREATE TABLE `produtos` (
`id` INT NOT NULL AUTO_INCREMENT ,
`produto` VARCHAR( 30 ) NOT NULL ,
`categoria` VARCHAR( 30 ) NOT NULL ,
PRIMARY KEY ( `id` )
);
INSERT INTO `produtos` VALUES (1, 'Dvd', 'Eletrodomésticos');
INSERT INTO `produtos` VALUES (2, 'Televisor', 'Eletrodomésticos');
INSERT INTO `produtos` VALUES (3, 'Geladeira', 'Eletrodomésticos');
INSERT INTO `produtos` VALUES (4, 'Sofá', 'Moveis');
INSERT INTO `produtos` VALUES (5, 'Cadeira', 'Móveis');
INSERT INTO `produtos` VALUES (6, 'Mesa', 'Móveis');
INSERT INTO `produtos` VALUES (7, 'Impressora', 'Informática');
INSERT INTO `produtos` VALUES (8, 'Teclado', 'Informática');
INSERT INTO `produtos` VALUES (9, 'Disquete', 'Informática');
INSERT INTO `produtos` VALUES (10, 'Fone de Ouvido', 'Informática');
INSERT INTO `produtos` VALUES (11, 'Caneta', 'Papelaria');
INSERT INTO `produtos` VALUES (12, 'Caderno', 'Papelaria');
INSERT INTO `produtos` VALUES (13, 'Agenda', 'Papelaria');
INSERT INTO `produtos` VALUES (14, 'Corretivo', 'Papelaria');
INSERT INTO `produtos` VALUES (15, 'Máscara Refletora', 'Perfumaria');
INSERT INTO `produtos` VALUES (16, 'Pomada', 'Perfumaria');
INSERT INTO `produtos` VALUES (17, 'Loção', 'Perfumaria');
INSERT INTO `produtos` VALUES (18, 'Base', 'Perfumaria');
2) Feito isso, vamos abrir o Dreamweaver e clicar no Painel Database para criar a nossa conexão com o banco de dados MYSQL. Defina os valores conforme segue abaixo:

3) Em seguida, criaremos um Recordset (conjunto de registros) com o auxílio do Painel Bindings (CTRL + F10). Caso tenha alguma dúvida nessa etapa, observe a figura abaixo:
4) Se preferir, clique no botão TEST para observar os registros que compõem a tabela produtos, conforme na figura abaixo.
5) O próximo passo é inserir a tag FORM (Menu Insert / Form / Form) que vai armazenar a nossa tabela e, consequentemente o nosso campo checkbox.
6) Com uma tabela (3 x 4) inserida, devemos definir todos os seus rótulos e arrastar os campos respectivos do nosso recordset, utilizando o painel Bindings.
7) Na última célula vocês devem inserir um campo checkbox (Insert / Form / Checkbox) e definir seu nome como “excluir[]” (sem aspas) e seu value como .
8) Selecione a segunda linha (tag TR) (que contém os campos do recordset) e vá até o painel Server Behaviors, a fim de que você crie um Repeat Reagion para exibir todos os produtos cadastrados na tabela.
9) Em seguida, mescle a terceira linha e insira nela um botão Submit, definindo como value o texto “Deletar”.
Observação: não se esqueça de definir os parâmetros da tag FORM para a pagina exclusao.php, via POST, bem como os parâmetros do campo checkbox, conforme citado anteriormente. Qualquer dúvida, observe a figura abaixo:
Segue abaixo o código dessa pagina que eu chamei de listagem.php
<?
require_once('Connections/weblivre.php'); ?>
<?php
mysql_select_db($database_weblivre, $weblivre);
$query_rs_produtos = "SELECT * FROM produtos ORDER BY id DESC";
$rs_produtos = mysql_query($query_rs_produtos, $weblivre) or die(mysql_error());
$row_rs_produtos = mysql_fetch_assoc($rs_produtos);
$totalRows_rs_produtos = mysql_num_rows($rs_produtos);
?>
<form action="exclusao.php" method="POST" enctype="application/x-www-form-urlencoded" target="_parent">
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<th scope="col">Id</th>
<th scope="col">Produto</th>
<th scope="col">Categoria</th>
<th scope="col">Excluir</th>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_rs_produtos['id']; ?></td>
<td><?php echo $row_rs_produtos['produto']; ?></td>
<td><?php echo $row_rs_produtos['categoria']; ?></td>
<td><div align="center">
<input name="excluir[]" type="checkbox" id="excluir[]" value="<?php echo $row_rs_produtos['id']; ?>" />
<br>
</div></td>
</tr>
<?php } while ($row_rs_produtos = mysql_fetch_assoc($rs_produtos)); ?>
</table>
<input name="Deletar" type="submit" value="Deletar" />
<label> </label>
<br>
</form>
<?php
mysql_free_result($rs_produtos);
?>
10) Por fim, vamos tratar as informações recebidas na pagina exlusao.php
Segue o código da página exclusão.php abaixo:
require_once('Connections/weblivre.php');
<? require_once('Connections/weblivre.php');
$valores = $_POST['excluir'];
for($i = 0;$i<count($valores);$i++)
{
mysql_query("DELETE FROM produtos where id= $valores[$i]");
}
echo "Os registros foram excluídos com sucesso!!!";
?>
O nosso exemplo de como deletar múltiplos registros com checkbox está pronto.
A partir daí, vocês podem melhorar esse exemplo com muita criatividade!
Um forte abraço!
Ronaldo dos Santos Silva – ronaldosdb@weblivre.net
Enilson em 17/07/2008
Você mencionou o arquivo exclusao.php. Esse arquivo por um acaso seria o mesmo?
Obrigado.
Nikko em 15/11/2007
Excelente!!!
Gustavo em 14/10/2007
Realmente, esse artigo é nota 10. Eu estava procurando como fazer inclusão e select com check box e admito que esse artigo foi de grande ajuda. Parabéns.
Alisson em 29/01/2006
Powww, a meteria é uma das melhores do site muito boa mesmo bem explicada e facil de entender eu fiz e deu tudo certinhu bem pratico, se possivel gostaria de que o autor dessa meteria fizesse mais materias com coisa mais basica e mais avaçada para melhor
Jorge Alves em 29/01/2006
Nossa, muito bom o artigo !
Continue fazendo mais ...
2004-2008 Weblivre.net Todos os direitos reservados.
Quem somos | Política de Acesso | Anuncie | Na Mídia | Seja um Colunista | Sugestão de Pauta | Fale Conosco
Idealização: Webla - Comunicação Digital