Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

infonet

[Resolvido] Excluir dados na tabela SQL atraves do arquivo PHP

Recommended Posts

Alguém pode me ajudar?

TENHO O SEGUINTE CÓDIGO:

------------------------

Eu clico no link que está assim:

<a href='excluir.php?servicos=$id' style='padding-top: 0.3em'>
<img src='imagens/excluir.png' width='16' height='16' border='0' title='' alt=''></a>

------------------------

excluir.php

------------------------

<?php
include ("include/conexao.php");

$sql = "DELETE FROM servicos WHERE id='$id'";
$resultado = mysql_query($sql)

or die ("Não foi possível realizar a exclusão dos dados<p><a href='javascript:window.history.go(-1)'>Voltar");
echo "O serviço foi excluído com êxito!
<script>top.location.href='index2.php';</script>";
?>

------------------------

MAS NÃO ESTÁ EXCLUINDO...

A mensagem que mostra é sempre: "O serviço foi excluído com êxito!"

Mas na verdade o registro está sendo visualizado e ao conferiri na

tabela SQL... o "danado" do registro continua lá... intacto.

A edição eu fiz semproblemas (achei até mais difícil), mas o excluir que é só um pouquinho de "trabalho", tá me fritando "os miolos" (risos)

 

Agradecido!

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
include ("include/conexao.php");

$id = (int)$_GET['id'];//resgatando a query string

$sql = "DELETE FROM servicos WHERE id={$id}";//INT não deve ter aspas envolvendo
$resultado = mysql_query( $sql )or die ( mysql_error() );

echo "O serviço foi excluído com êxito!

Compartilhar este post


Link para o post
Compartilhar em outros sites

rodou o código que sugeri ?

 

qual erro apareceu na tela ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A variável $id foi armazenada na coluna id(INT) da tabela SQL "servicos".

 

Eu perguntei de onde vem a variável. Se não vem de nenhum lugar dentro do seu script é porque você está usando Register Globals e na sua hospedagem ele está desabilitado, sendo assim você pode tentar ativar o Register Globals via .htaccess ou php.ini, mas recomendo que faça o que o William sugeriu, pois Register Globals On é péssimo para segurança e não existirá mais nas próximas versões do PHP.

 

Se você recebe o parâmetro "id" via GET coloque isso antes do $sql:

 

$id = isset($_GET['id']) ? intval($_GET['id']) : 0;

 

Já se estiver usando POST use:

 

$id = isset($_POST['id']) ? intval($_POST['id']) : 0;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não "funfou"

--------------------------------------

OLHE COMO FUNCIONA:

1- http://francisimoveis.com/caduser/index.php (LOGIN: cesar - SENHA: 123456)

2- Clique em "Serviços" (abaixo do nome de César Augusto)

3- Escolha o menu "Excluir serviço"

4- Clique no ícone da "lixeira" referente ao título que deseja excluir

(é aqui o erro, mostra que foi excluído, mas continua lá)

5- Abra a página para ver a listagem de quem está PUBLICADO ou NÃO: http://francisimoveis.com/caduser/listar.php

----------------------------

DE ONDE VEM A VARIÁVEL $id?

----------------------------

// vamos criar a visualização

while ($dados = mysql_fetch_array($limite)) {

$id = $dados["id"];

$titulo = $dados["titulo"];

$titulo = stripslashes($titulo);

// Aqui implementamos um limitador do número de letras a

//serem exibidas no último serviço com imagem

$limit=89;

$titulo = substr($titulo, 0,$limit);

echo "<tr style='padding-top: 0.3em'>

<td width='89%'>$titulo...</td>

<td width='11%' align='center' valign='middle'><a href='excluir.php?servicos=$id' style='padding-top: 0.3em'>

<img src='imagens/excluir.png' width='16' height='16' border='0' title='' alt=''></a></td>

</tr>"; }

 

O cod do William mostra que "foi excluído".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta fazer deste jeito:

<?php 
include ("include/conexao.php"); 

$sql = "DELETE FROM servicos WHERE id='".$id."'"; 
$resultado = mysql_query($sql) 

or die ("Não foi possível realizar a exclusão dos dados<p><a href='javascript:window.history.go(-1)'>Voltar"); 
echo "O serviço foi excluído com êxito! 
<script>top.location.href='index2.php';</script>"; 
?>

 

Continua praticamente do mesmo jeito, só muda que invés de '$id', fica '".$id."'. É uma forma de concatenação de strings que sempre coloco nas query.

Se a sua variável for numérica só o ".." já basta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É pra deixar seu código assim:

 

<?php
include ("include/conexao.php");

$id = isset($_GET['id']) ? intval($_GET['id']) : 0;

$sql = 'DELETE FROM servicos WHERE id = ' . $id;
$resultado = mysql_query($sql)

or die ("Não foi possível realizar a exclusão dos dados<p><a href='javascript:window.history.go(-1)'>Voltar");
echo "O serviço foi excluído com êxito!
<script>top.location.href='index2.php';</script>";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda tá lá Leozitho...

 

Pessoal, eu coloquei um "input do id" dentro do arquivo de exclusão com uma pausa e eu percebi que o id que aparece é sempre "0" (zero)...

É por isso que ele não está excluindo nada! Apesar da msg. de "excluído com êxito", ele só tenta excluir um linha de "id" zero...

EU ACHO...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está enviando como POST? Se for mude o $_GET para $_POST.

 

<?php
include ("include/conexao.php");

$id = isset($_POST['id']) ? intval($_POST['id']) : 0;

$sql = 'DELETE FROM servicos WHERE id = ' . $id;
$resultado = mysql_query($sql)

or die ("Não foi possível realizar a exclusão dos dados<p><a href='javascript:window.history.go(-1)'>Voltar");
echo "O serviço foi excluído com êxito!
<script>top.location.href='index2.php';</script>";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

[RESOLVIDO]

Valeu Leozitho, deu certo agora... o $_GET sempre esteve correto!

O erro estava no arquivo "exc_servico.php", na minha msg. "Hoje, 17:26"

eu havia colocado o "link" que chamava o "exluir.php"... pois é ali que

estava o erro o tempo todo...

 

Na 12ª linha onde diz:

<td width='11%' align='center' valign='middle'><a href='excluir.php?servicos=$id' style='padding-top: 0.3em'>

 

Na verdade deve ser:

<td width='11%' align='center' valign='middle'><a href='excluir.php?id=$id' style='padding-top: 0.3em'>

 

Muito obrigado a todos, verdadeiramente!

P.S.: valeu Leozitho

[RESOLVIDO]

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.