Weblivre.net - Informação em Primeiro Lugar

Assine nosso RSS
Publicado em 29/01/2006 - 5 comentários - Ler artigos relacionados - Você está em: Colunas » Dreamweaver

Deletando múltiplos registros com checkbox

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.

Clique para ampliar

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

Clique para ampliar

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:

Clique para ampliar

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

Clique para ampliar

Segue o código da página exclusão.php abaixo:

<? 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

Autor: Ronaldo dos Santos Silva

Compartilhe:

Comentários

Comente este artigo!

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