xTrovaox 0 Denunciar post Postado Fevereiro 19, 2011 Eae pessoal beleza?? Então indo ao assunto, eu estou querendo uma ajudinha aqui em um comando em php pra deletar varias mensagens onde o usuario marcar. Vou explicar: Tenho uma pagina onde a pessoa faz um login, quando ele está logado tem uma opção que se chama "Mensagens", onde ficam todas as mensagens que outros usuarios enviaram para ele. Está pagina é igual ao do Hotmail, ele lista todas as mensagens ai a pessoa clica e consegue visualizar. Na listagem das mensagens tem um Form chamado CheckBox (aquele que agente marca), e logo abaixo tem um botao "Deletar", onde a pessoa marca a mensagem e depois clica em Deletar, ai a mensagem que ela marcou é deletada. Bom até aqui eu ja consegui fazer, o problema e que ele so apaga 1 mensagem de cada vez, se eu marco varias ele não deleta todas, ele apenas deleta a primeira que eu marquei. Aqui vai o comando que eu estou utilizando para puxar as mensagens: <?php $PuxaMsg = mysql_query("SELECT id,mensagem,data,por,visto FROM mensagens WHERE idusuario='".$iduser."'"); for($i=0;$i<mysql_num_rows($PuxaMsg);$i++) { $char = $i+1; $Array = mysql_fetch_row($PuxaMsg); ?> Aqui é o Form CheckBox que puxa o ID da mensagem, onde o valor do CheckBox é igual ao ID: <input name="marcador" type="checkbox" id="marcador" value="<?=$Array[0]?>" /> Aqui é o comando que é executado quando eu clico em Deletar: <?php $acao = $_GET["acao"]; if ($acao == "deletar_mensagem") { $marcador = $_POST["marcador"]; $deletar_msg = mysql_query("DELETE FROM mensagens WHERE id='".$marcador."'"); if ($deletar_msg) { echo "<script language='javascript'>alert('Mensagem deletada com sucesso !')</script>"; } else { echo "<script language='javascript'>alert('Ocorreu um erro e sua mensagem não pode ser Deletada !')</script>"; } } ?> E isso, o CheckBox puxa o ID da mensagem, eu marco o CheckBox da mensagem que quero deletar, e quando faço isso a variavel "marcador" fica com o valor do ID da mensagem, e quando eu deleto ele exclui a mensagem que tem o ID do CheckBox. =D Eu sei que quando eu marco varios ele deixa a variavel marcador com apenas um ID, e é poriso que ele exclui apenas um, o problema e que eu não estou sabendo como fazer um comando que exclua todas as mensagens dos "ID's" que eu marquei. Eu to querendo que fique igual do Hotmail onde eu marco todas e depois clico em Excluir e ele apaga todas que eu marquei. Bom é isso, se vocês não entenderam a minha explicação é so falar que explico melhor. Compartilhar este post Link para o post Compartilhar em outros sites
everton0694 0 Denunciar post Postado Fevereiro 19, 2011 eu tenho um script assim aqui mais o meu ta assim: <input name="del[]" type="checkbox" id="del[]" value="<?php echo $id_msg;?>" /> tenta isso no checkbox: <input name="marcador[]" type="checkbox" id="marcador[]" value="<?=$Array[0]?>" /> Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 19, 2011 não use <? , use sempre <?php .. isso você deve fazer com um foreach .. um exemplo if(isset($_POST['check'])) { foreach($_POST["check"] as $registro) { mysql_query("DELETE FROM pedidos WHERE numero_pedido = $registro "); } } Sendo Seu Checkbox um array Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Fevereiro 19, 2011 Wow !!!! Cuidado Andrey, usar esse seu código é pedir para ter problemas sérios. Leia sobre SQL injection e jamais acredite que o usuário vai lhe enviar aquilo que você espera. Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 19, 2011 Eu fiz de exemplo Joãozinho , ele pode fazer a segurança no sistema dele .. usando as funçoes nativas do php , ja em arquivo eu não me meto muito , porque eu não tenho ideia de como fazer segurança neles .. eu apenas renomeio os arquivos e passo por um preg_match validando se é FOTO mesmo , oque renomear ajuda ?? (a pessoa) manda um arquivo , PNG com virus por exemplo .. ai ela manda e vai tentar acessar a pasta que você guarda eles , você tendo um nome aleatorio com um hash md5 ou sha1 , ou outros ai .. você evita ela de pensar que vai acessar a foto pelo mesmo nome que enviou :joia: Compartilhar este post Link para o post Compartilhar em outros sites
xTrovaox 0 Denunciar post Postado Fevereiro 21, 2011 Andrey Knupp, eu tentei utilizar esse exemplo que você me disse mais não está dando certo, não tem como me explicar melhor?? Alguem não conhece um jeito pra mim poder fazer isto pliss????? Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Fevereiro 21, 2011 Seguinte: teu checkbox deve enviar um array, entao se usa [] ao lado do nome, para que no POST ele envie array <input name="marcador[]" type="checkbox" id="marcador" value="<?=$Array[0]?>" /> no post #3 do Andrey, ele mostra como pegar esse array e fazer o DELETE. if(isset($_POST['nomeDoSeuBotao'])) { foreach($_POST["nomeDoCheckbox"] as $registro) { mysql_query("DELETE FROM pedidos WHERE numero_pedido = $registro "); //aqui faz o delete de cada registro. } } Compartilhar este post Link para o post Compartilhar em outros sites
xTrovaox 0 Denunciar post Postado Fevereiro 23, 2011 Opa, finalmente deu certo. Muito obrigado Gremio10 por ter me explicado a utilizar, no final era eu que tava fazendo coisa errada, mais graças a sua explicação agora deu certo xD. Obrigado ao Andrey Knupp pelo código e a todos que me ajudaram, vlws. Compartilhar este post Link para o post Compartilhar em outros sites