Jump to content

[Resolvido] Problema Eliminar


Recommended Posts

Posted

Boas,

eu estou a tentar eliminar registos mas não consigo, dá-me mensagem de sucesso, mas não me eliminar.

Alguem me pode ajudar?

<?php
include("../../connection/database.php");
 if (!isset($_SESSION)) {
  session_cache_limiter( false );
  session_start();
 }

 $id=$_REQUEST['id'];

 if(isset($id)){
  $result=mysql_query("SELECT id_produto FROM produtos WHERE id_produto=$id");
  $row=mysql_fetch_array($result);

  $result=mysql_query("DELETE FROM produtos WHERE id_produto=$id;");

  if($result){
   $_SESSION['admin_note_type']="success";
   $_SESSION['admin_message']="O registo foi eliminado com sucesso.";
  }else{
   $_SESSION['admin_note_type']="error";
   $_SESSION['admin_message']="Ocorreu um erro ao eliminar o registo.";
  }

 }else{
   $_SESSION['admin_note_type']="error";
   $_SESSION['admin_message']="Ocorreu um erro ao eliminar o registo. O registo não foi encontrado.";
 }
?>
Posted (edited)

Com o select, não?

Eu seleciono o id_produto=$id.

<?php
include("../../connection/database.php");
 if (!isset($_SESSION)) {
  session_cache_limiter( false );
  session_start();
 }

 $id=$_REQUEST['id'];

 $result=mysql_query("SELECT id_produto FROM produtos WHERE id_produto=$id");
 $row=mysql_fetch_array($result);
 if($result){
  $result=mysql_query("DELETE FROM produtos WHERE id_produto='".$row['id_produto']."'");

  if($result){
$_SESSION['admin_note_type']="success";
$_SESSION['admin_message']="O registo foi eliminado com sucesso.";
  }else{
$_SESSION['admin_note_type']="error";
$_SESSION['admin_message']="Ocorreu um erro ao eliminar o registo.";
  }

 }else{
$_SESSION['admin_note_type']="error";
$_SESSION['admin_message']="Ocorreu um erro ao eliminar o registo. O registo não foi encontrado.";
 }
Edited by PF2G
Posted (edited)

Ele continua a dar-me a mesa coisa...

Eu listei os produtos com o respetivo id e esta correto

Edited by PF2G
Posted (edited)

Uma dica:

$id=$_REQUEST['id'];

Se sabes que vem por POST troca o $_REQUEST por $_POST. Se vem por GET troca por $_GET.

Se o valor é numérico (presumo que sim) coloca (int)$_GET['id'];

Outra coisa...presumo que isto

$result=mysql_query("SELECT id_produto FROM produtos WHERE id_produto=$id");
$row=mysql_fetch_array($result);

Seja para verificares se o teu produto existe, certo? Então sugiro esta pequena alteração:

<?php
include("../../connection/database.php");
if (!isset($_SESSION)) {
session_cache_limiter( false );
session_start();
}
$id=$_REQUEST['id'];
$result=mysql_query("SELECT id_produto FROM produtos WHERE id_produto=$id");

if($result){
$result=mysql_query("DELETE FROM produtos WHERE id_produto=$id'");
if($result){
 $_SESSION['admin_note_type']="success";
 $_SESSION['admin_message']="O registo foi eliminado com sucesso.";
}else{
 $_SESSION['admin_note_type']="error";
 $_SESSION['admin_message']="Ocorreu um erro ao eliminar o registo.";
}

}else{
 $_SESSION['admin_note_type']="error";
 $_SESSION['admin_message']="Ocorreu um erro ao eliminar o registo. O registo não foi encontrado.";
}
?>

Podes por exemplo fazer um echo "SELECT id_produto FROM produtos WHERE id_produto=$id"; e copiar/colar directamente para o editor de mysql e verificar se retorna alguma coisa....

Edited by ruimcosta

Abraços e beijinhos,Rui Costa

Posted

nem mensage aparece:

<?php
include("../../connection/database.php");
  if (!isset($_SESSION)) {
   session_cache_limiter( false );
   session_start();
  }
  $id=(int)$_GET['id'];
  $result=mysql_query("SELECT id_produto FROM produtos WHERE id_produto=$id") or die(mysql_error());
  $row=mysql_fetch_assoc($result);

  if($result){
   $result=mysql_query("DELETE FROM produtos WHERE id_produto='".$row['id_produto']."'") or die(mysql_error());
 if($result){
   $_SESSION['admin_note_type']="success";
   $_SESSION['admin_message']="O registo foi eliminado com sucesso.";
 }else{
   $_SESSION['admin_note_type']="error";
   $_SESSION['admin_message']="Ocorreu um erro ao eliminar o registo.";
 }

  }else{
  $_SESSION['admin_note_type']="error";
  $_SESSION['admin_message']="Ocorreu um erro ao eliminar o registo. O registo não foi encontrado.";
  }
?>

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.