Jump to content


Photo

Eliminar Registo Por Registo


  • Faça o login para participar
9 replies to this topic

#1 Leocarpo

Leocarpo

    12 Horas

  • Usuários
  • 160 posts
  • Sexo:Masculino
  • Localidade:Angola - Luanda
  • Interesses:Programação,
    Padrões web.
    Negócios.

Posted 06/02/2011, 07:22

Ola amigos.

Espero que me ajudem.
Não consigo eliminar valores que estão no banco de dados via código php, usando um formulário consigo mas sem formulário esta a ficar impossível. segue o código abaixo.

Obs : Lista os valores que estão no banco de dados.

<?php
include("conn.php");
$sql=mysql_query("select * from teste");

echo "<ul>";

while($linhas=mysql_fetch_object($sql))

{
echo "<ul><a href='deletar.php?pag=".$linhas->id."'>".$linhas->nome."</a></ul>";
}
echo "</ul>";
?>

Obs: Suposto codigo para eliminar os valores (Meu problema está aqui)

<?php
include("conn.php");

$linhas=mysql_fetch_object($_POST["id"]);

$sql=mysql_query("delete from teste where id='$linhas'");


?>

Desde já agradeço quem me ajudar ...
O mundo é feito de teórias, as com maior
impacto é que são válidas,e aplicadas nas nossas vidas.
9033 lab

#2 Leonardo Garcia

Leonardo Garcia

    Normal

  • Usuários
  • 110 posts
  • Sexo:Masculino
  • Localidade:Londrina Paraná

Posted 06/02/2011, 15:50

Não entendi o que vc qr fazer. Vc qr deletar em lote(varios ao mesmo tempo) ou apenas um.

se for apenas um, vc tem q passar o ID seco , sem mysql_object:


$linhas= $_POST["id"];
$sql=mysql_query("delete from teste where id='$linhas'");
$res = mysql_query($sql);

/// se vc qr um Lote de ID vc tem q colocar um laço:

while($linhas=mysql_fetch_object($sql)){

$sql=mysql_query("delete from teste where id='$linhas->id'");
$res = mysql_query($sql);

}
Eu podia tá matando, roubando ou me prostituindo. Mas só quero um ponto.

#3 Leocarpo

Leocarpo

    12 Horas

  • Usuários
  • 160 posts
  • Sexo:Masculino
  • Localidade:Angola - Luanda
  • Interesses:Programação,
    Padrões web.
    Negócios.

Posted 07/02/2011, 05:13

Ola caro Leonardo.

O que eu quero realmente fazer é apagar dados um por um via id, mas até agora eu não consigo fazer nem com esse código que você fez , por acaso já tinha testando antes de colocar a duvida aqui no fórum.

Obrigado pela resposta e espero mais ajuda da tua parte.

Ola colegas.

Por favor ajudem-me, o que eu preciso é só eliminar dados que estão no DB.

Eu tenho a pagina inicial , segue o código:

<?php
include("conn.php");
$sql=mysql_query("select * from teste");

while($linhas=mysql_fetch_object($sql))

{
echo $linhas->nome."=";

echo "<a href='deletar.php?pag=".$linhas->id."'>Apagar</a><br/>";

}


?>

Estes dados eu quero que ao clicar em apagar chame outra página que vai se responsabilizar pela exclusão do ID que foi passado acima .
A baixo,Vemos o código da página que Tem que apagar o dado que foi passado por outra página.

<?php
include("conn.php");
$nome=$_POST["id"];
$p=mysql_query("DELETE FROM teste WHERE nome='$nome'");
?>


Por favor ajudem-me estou mesmo num caminho sem luz preciso da vossa ajuda.
O mundo é feito de teórias, as com maior
impacto é que são válidas,e aplicadas nas nossas vidas.
9033 lab

#4 dddidan

dddidan

    Ativo

  • Usuários
  • 381 posts
  • Sexo:Masculino
  • Localidade:Taboão da Serra - SP

Posted 08/02/2011, 15:49

Você esta utilizando o método errado.

pelo que entendi do seu código, você envia $linhas pela variavel paginas.

quando você faz algo do tipo: "deletar.php?pagina=2", significa que você esta utilizando o método $_GET, não o $_POST, ou seja, o código da pagina deleta.php deve estar assim:

<?php
include("conn.php");
$nome=$_GET["id"];
$p=mysql_query("DELETE FROM teste WHERE nome='$nome'");
?>
E não se esqueça de usar um mysql_real_escape_string para melhorar a segurança:

<?php
include("conn.php");
$nome=mysql_real_escape_string($_GET["id"]);
$p=mysql_query("DELETE FROM teste WHERE nome='$nome'");
?>
referencias:
mysql_real_escape_string
$_GET
$_POST

Edição feita por: dddidan, 08/02/2011, 15:50.

Mais vale um Dev C++ na mão do que dois codeblocks voando

PHP - ||||||||||||||| MySql - |||||||||||||||
C/C++ - ||||||||||||||| Oracle - |||||||||||||||
PERL - |||||||||||||||

#5 Leocarpo

Leocarpo

    12 Horas

  • Usuários
  • 160 posts
  • Sexo:Masculino
  • Localidade:Angola - Luanda
  • Interesses:Programação,
    Padrões web.
    Negócios.

Posted 09/02/2011, 05:51

Ola colegas.

Obrigado pela vossa ajuda, mas já consegui resolver a minha duvida.

Segue o código resolvido para quem tiver a mesma duvida.

Pagina Index

<?php
include("conn.php");
$sql=mysql_query("select * from nova");
while($nome=mysql_fetch_array($sql))
{
echo "<a href='apagar.php?id=$nome[id]&$nome[nome]'>Apagar</a>";
echo $nome["nome"]."<br/>";
}
?>


Pagina apagar:

<?php
include("conn.php");
$nome=$_REQUEST["id"];
$sql=mysql_query("delete from nova where id='$nome'");
header("location:pag.php");
?>

Desfrutem do código livre.
O mundo é feito de teórias, as com maior
impacto é que são válidas,e aplicadas nas nossas vidas.
9033 lab

#6 Fábio Web Arts

Fábio Web Arts

    Web IN Arts

  • Usuários
  • 299 posts
  • Sexo:Masculino
  • Localidade:No Saco De Magé
  • Interesses:Tudo que for da área de Informática

Posted 16/02/2011, 08:35

eu nao entendi... tu manda o ID e quer apagar pelo nome???

o serto seria vc deletar quando o id for = ao id pelo metodo get!!

#7 dddidan

dddidan

    Ativo

  • Usuários
  • 381 posts
  • Sexo:Masculino
  • Localidade:Taboão da Serra - SP

Posted 16/02/2011, 13:06

eu nao entendi... tu manda o ID e quer apagar pelo nome???

o serto seria vc deletar quando o id for = ao id pelo metodo get!!


Quando ele executa isso:
<?php
include("conn.php");
$sql=mysql_query("select * from nova");
while($nome=mysql_fetch_array($sql))
{
echo "<a href='apagar.php?id=$nome[id]&$nome[nome]'>Apagar</a>";
echo $nome["nome"]."<br/>";
}
?>

o link fica: <a href='apagar.php?id=5&dddidan'>Apagar</a>

aí ele pega essa ID 5 e apaga do bd... FOi o que entendi, pelomenos
Mais vale um Dev C++ na mão do que dois codeblocks voando

PHP - ||||||||||||||| MySql - |||||||||||||||
C/C++ - ||||||||||||||| Oracle - |||||||||||||||
PERL - |||||||||||||||

#8 Leocarpo

Leocarpo

    12 Horas

  • Usuários
  • 160 posts
  • Sexo:Masculino
  • Localidade:Angola - Luanda
  • Interesses:Programação,
    Padrões web.
    Negócios.

Posted 17/02/2011, 06:35

Ola colega.

Eu já consegui fazer o que queria.
Mas o teu problema pelo que eu vi esta na complicação da variável.

$nome=$_REQUEST["id"]; // Você pode trocar a variável nome por um outro nome
Ex.: $id=$_REQUEST["id"];

Ficaria assim:
$sql=mysql_query("delete from nova where id='$id'");

Desde já obrigado por visitar meu tópico.
O mundo é feito de teórias, as com maior
impacto é que são válidas,e aplicadas nas nossas vidas.
9033 lab

#9 Fábio Web Arts

Fábio Web Arts

    Web IN Arts

  • Usuários
  • 299 posts
  • Sexo:Masculino
  • Localidade:No Saco De Magé
  • Interesses:Tudo que for da área de Informática

Posted 17/02/2011, 16:20

eu acho melhor deletar pelo id somente... pq pelo nome pode dar problema caso exista nomes duplicados....

#10 Leocarpo

Leocarpo

    12 Horas

  • Usuários
  • 160 posts
  • Sexo:Masculino
  • Localidade:Angola - Luanda
  • Interesses:Programação,
    Padrões web.
    Negócios.

Posted 18/02/2011, 09:22

Ola colega.

Sim deletar pelo Id é mais confiavel.
Assim podemos deletar com maior segurança.
O mundo é feito de teórias, as com maior
impacto é que são válidas,e aplicadas nas nossas vidas.
9033 lab




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq