Nick-pc 0 Denunciar post Postado Janeiro 22, 2010 Poste como você gera o HTML do formulário, onde você cria os checkbox. Eu tenho somente dois checkboxs dentro de uma tabela, um que seleciona todos e outro que fica em uma área reptitiva dessa tabela e com as variáveis rows dos campos de uma tabela do banco de dados. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 22, 2010 outro que fica dentro de uma área reptitiva com as variáveis rows dos campos de uma tabela do banco de dados. Poste esse código. você lembrou de preencher o atributo value="" ? Poste também a estrutura da sua tabela. codigo exemplo: <?php if($_SERVER['REQUEST_METHOD'] == 'POST') { if( is_array($_POST['deletar']) ) { $ids = implode( ',', $_POST['deletar'] ); $sql = " DELETE FROM `table` WHERE `id` IN ({$ids}) "; echo $sql;//depois comente essa linha $query = mysql_query( $sql )or die( mysql_error() ); } else echo 'Você não selecionou nenhum check'; } ?> <form action="" method="post"> <label>Registro 1<input type="checkbox" name="deletar[]" value="1" /></label> <label>Registro 2<input type="checkbox" name="deletar[]" value="2" /></label> <label>Registro 3<input type="checkbox" name="deletar[]" value="3" /></label> <label>Registro 4<input type="checkbox" name="deletar[]" value="4" /></label> <label>Registro 5<input type="checkbox" name="deletar[]" value="5" /></label> <input type="submit" name="enviar" value="enviar" /> </form> Compartilhar este post Link para o post Compartilhar em outros sites
Nick-pc 0 Denunciar post Postado Janeiro 22, 2010 Sim o value está preenchido. Estrutura da tabela <table border="0" cellpadding="3" cellspacing="3"> <tr> <th><input type="checkbox" id="checkAll" /> <span class="style1">ID</span></th> <th class="style1">Nome painel</th> <th class="style1">Link</th> </tr> <?php do { ?> <tr> <td><input type="checkbox" name="checkbox[]" value="id_produto_excluir" /> <?php echo $row_ListaPainel['ma_id']; ?></td> <td><?php echo $row_ListaPainel['ma_label']; ?></td> <td><?php echo $row_ListaPainel['ma_value']; ?></td> </tr> <?php } while ($row_ListaPainel = mysql_fetch_assoc($ListaPainel)); ?> <tr> <th><form id="form1" name="form1" method="post" action="registros_delete.php"> <input type="submit" name="submit" id="submit" value="Apagar" /> </form></th> <th> </th> <th> </th> </tr> </table> Compartilhar este post Link para o post Compartilhar em outros sites
tarilonte 0 Denunciar post Postado Janeiro 22, 2010 value="id_produto_excluir" Se seu código estiver desse jeito acima, o value dos seus checkboxes é a string 'id_produto_excluir'. Tente: <input type="checkbox" name="checkbox[]" value="<?echo $row_ListaPainel['ma_id'];?>" /> (supondo que o campo [ma_id] da sua tabela seja o ID do produto.) Compartilhar este post Link para o post Compartilhar em outros sites
Nick-pc 0 Denunciar post Postado Janeiro 22, 2010 Ainda não está excluindo. Alguma resolução? Compartilhar este post Link para o post Compartilhar em outros sites
tarilonte 0 Denunciar post Postado Janeiro 23, 2010 Poste o codigo completo da pagina do formulário e também de registros_delete.php Compartilhar este post Link para o post Compartilhar em outros sites
Nick-pc 0 Denunciar post Postado Janeiro 23, 2010 O codigo da página registros_delete php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sem título</title> </head> <body> <?php require_once('../conecao/conecao.php'); if($_POST['checkbox'] == "") { echo "Você não selecionou nenhum checkbox"; } else { if(is_array($_POST['checkbox'])) { foreach($_POST['checkbox'] as $checks) { $sql = "delete from tabela where id = $checks"; $exe = mysql_query($sql); } } else { $sql = "delete from tabela where id = ".$_POST['checkbox']; $exe = mysql_query($sql); } } ?> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
tarilonte 0 Denunciar post Postado Janeiro 23, 2010 poste o codigo completo do formulário tb, pois o erro está lá. você disse que essa página sempre imprime "Você não selecionou nenhum checkbox" então não está recebendo o parâmetro "checkbox". Lembre-se tb se substituir o foreach pelo código com implode que o Bruno postou, para economizar requisições. Compartilhar este post Link para o post Compartilhar em outros sites
Nick-pc 0 Denunciar post Postado Janeiro 23, 2010 Página do formulario <?php require_once('conecao/conecao.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { if (PHP_VERSION < 6) { $theValue = get_magic_quotes_gpc() ? strpislashes($theValue) : $theValue; } $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } mysql_select_db($database_pi, $pi); $query_ListaPainel = "SELECT * FROM pi_menuadmin ORDER BY ma_id DESC"; $ListaPainel = mysql_query($query_ListaPainel, $pi) or die(mysql_error()); $row_ListaPainel = mysql_fetch_assoc($ListaPainel); $totalRows_ListaPainel = mysql_num_rows($ListaPainel); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <noscrpit><meta http-equiv="Refresh" content="0; URL=jsDesabilitado.php"/></noscrpit> <title>Painel administrativo</title> <style type="text/css"> <!-- body { background-color: #efefef; } body,td,th { color: #333; } --> </style> <!-- Este scrpit é usado para função de selecinar todos checkboxs --> <scrpit type="text/javascrpit"> $(document).ready(function(){ $("#checkAll").click(function(){ if( $(this).attr('checked') ) $("input[name='checkbox[]']").attr({checked: 'checked'}); else $("input[name='checkbox[]']").attr({checked: ''}); }); }); </scrpit> </head> <body> <table border="0" cellpadding="3" cellspacing="3"> <tr> <th><input type="checkbox" id="checkAll" /> <span class="style1">ID</span></th> <th class="style1">Nome painel</th> <th class="style1">Link</th> </tr> <?php do { ?> <tr> <td><input type="checkbox" name="checkbox[]" value="id_produto_excluir" /> <?php echo $row_ListaPainel['ma_id']; ?></td> <td><?php echo $row_ListaPainel['ma_label']; ?></td> <td><?php echo $row_ListaPainel['ma_value']; ?></td> </tr> <?php } while ($row_ListaPainel = mysql_fetch_assoc($ListaPainel)); ?> <tr> <th><form id="form1" name="form1" method="post" action="registros_delete.php"> <input type="submit" name="submit" id="submit" value="Apagar" /> </form></th> <th> </th> <th> </th> </tr> </table> </body> </html> <?php mysql_free_result($ListaPainel); ?> Compartilhar este post Link para o post Compartilhar em outros sites
tarilonte 0 Denunciar post Postado Janeiro 23, 2010 Nick, O valor dos checkbox está errado no formulário. Eles precisam ter o valor do ID conforme falei na postagem #24 Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Janeiro 23, 2010 Aff você não leu nenhum dos meus posts ne?! registros_delete.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sem título</title> </head> <body> <?php require_once('../conecao/conecao.php'); if($_SERVER['REQUEST_METHOD'] == 'POST') { if( is_array($_POST['checkbox']) ) { $ids = implode( ',', $_POST['checkbox'] ); $sql = " DELETE FROM `table` WHERE `id` IN ({$ids}) "; echo $sql;//depois comente essa linha $query = mysql_query( $sql )or die( mysql_error() ); } else echo 'Você não selecionou nenhum check'; } ?> </body> </html> Qndo eu pedi 'estrutura da tabela', eu me referia ao banco de dados, e não ao HTML. <table border="0" cellpadding="3" cellspacing="3"> <form id="form1" name="form1" method="post" action="registros_delete.php"> <tr> <th><input type="checkbox" id="checkAll" /> <span class="style1">ID</span></th> <th class="style1">Nome painel</th> <th class="style1">Link</th> </tr> <?php do { ?> <tr> <td><input type="checkbox" name="checkbox[]" value="<?php echo $row_ListaPainel['ma_id']; ?>" /> <?php echo $row_ListaPainel['ma_id']; ?></td> <td><?php echo $row_ListaPainel['ma_label']; ?></td> <td><?php echo $row_ListaPainel['ma_value']; ?></td> </tr> <?php } while ($row_ListaPainel = mysql_fetch_assoc($ListaPainel)); ?> <input type="submit" name="submit" id="submit" value="Apagar" /> </form> <th> </th> <th> </th> </table> Isso ja devia estar resolvido em: http://forum.imasters.com.br/index.php?/topic/379680-erro-em-propriedades-para-checkbox/page__view__findpost__p__1472562 Tenta ao menos estudar ou entender os scripts postados. Estude HTML tb, não faz sentido os teus inputs ficarem fora do form Compartilhar este post Link para o post Compartilhar em outros sites
Nick-pc 0 Denunciar post Postado Janeiro 23, 2010 Desculpa pessoal posteio o codigo errado já tinha colocado o ID no valeu. Só faltava acertar o form que estava errado. Compartilhar este post Link para o post Compartilhar em outros sites
Nick-pc 0 Denunciar post Postado Janeiro 23, 2010 Erro diz que o banco de dados não está selecionado. IN () No database selected Compartilhar este post Link para o post Compartilhar em outros sites
tarilonte 0 Denunciar post Postado Janeiro 23, 2010 reveja sua conexão com o DB Compartilhar este post Link para o post Compartilhar em outros sites
Nick-pc 0 Denunciar post Postado Janeiro 23, 2010 Não vejo nenhum dado errado na minha conexão, tanto estrutura quanto as informações necessárias da conexão. PHP conexão <?php # FileName="Connection_php_mysql.htm" # Type="MYSQL" # HTTP="true" $hostname_ip = "..."; $database_ip = "..."; $username_ip = "..."; $password_ip = "..."; $ip = mysql_pconnect($hostname_ip, $username_ip, $password_ip) or trigger_error(mysql_error(),E_USER_ERROR); ?> Menssagem que aparece exatamente na página: DELETE FROM `pi_paineladmin` WHERE `ma_id` IN (,) No database selecte Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Ferminiano 2 Denunciar post Postado Janeiro 23, 2010 aieuheiue, fiquei com raiva só de ler os posts, cade o mysql_select_db? comeu? rsrs http://br2.php.net/manual/en/function.mysql-select-db.php Compartilhar este post Link para o post Compartilhar em outros sites
tarilonte 0 Denunciar post Postado Janeiro 23, 2010 Menssagem que aparece exatamente na página: DELETE FROM `pi_paineladmin` WHERE `ma_id` IN (,) No database selecte Seu formulário continua errado e não está passando as IDs Compartilhar este post Link para o post Compartilhar em outros sites
Nick-pc 0 Denunciar post Postado Janeiro 23, 2010 Erro: DELETE FROM `pi_paineladmin` WHERE `ma_id` IN (,) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 Compartilhar este post Link para o post Compartilhar em outros sites
Matias Rezende 50 Denunciar post Postado Janeiro 23, 2010 Nick-PC, sugiro que leia o tópico de orientações para uma boa participação. A solução do seu problema já foi postada mais de uma vez por vários colegas. Releia todos os posts e busque compreender as explicações e códigos passados. Compartilhar este post Link para o post Compartilhar em outros sites