PF2G Posted June 27, 2012 Report Share Posted June 27, 2012 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."; } ?> Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 27, 2012 Report Share Posted June 27, 2012 como sabes que o id que é dado ao script é o correcto para ser eliminado ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
PF2G Posted June 27, 2012 Author Report Share Posted June 27, 2012 Não sei, como é que faço isso? Ja tentei fazer $id=$_GET['id'] mas dava-me mensagem de erro, que o registo nao tinha sido encontrado Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 27, 2012 Report Share Posted June 27, 2012 ora, se dizes que estas a fazer um pedido à base de dados para eliminar um produto mas ele não é eliminado eu pergunto, como sabes qual é o produto que o script está a pedir para ser eliminado ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
PF2G Posted June 27, 2012 Author Report Share Posted June 27, 2012 (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 June 27, 2012 by PF2G Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 27, 2012 Report Share Posted June 27, 2012 vês como o teu código de repente ficou diferente ??? agora só falta saber se o ID que é enviado para o script é o pretendido ... mas isso só tu é que podes saber ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
PF2G Posted June 27, 2012 Author Report Share Posted June 27, 2012 (edited) Ele continua a dar-me a mesa coisa... Eu listei os produtos com o respetivo id e esta correto Edited June 27, 2012 by PF2G Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 27, 2012 Report Share Posted June 27, 2012 debug de script server-side : o mais fácil e o uso extensivo de echo's com informação relevante com o uso da função die nos sítios certos IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
ruimcosta Posted June 27, 2012 Report Share Posted June 27, 2012 (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 June 27, 2012 by ruimcosta Abraços e beijinhos,Rui Costa Link to comment Share on other sites More sharing options...
PF2G Posted June 27, 2012 Author Report Share Posted June 27, 2012 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."; } ?> Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted June 27, 2012 Report Share Posted June 27, 2012 mas alguém disse que existia erros de sql ???? vês como o teu código de repente ficou diferente ??? agora só falta saber se o ID que é enviado para o script é o pretendido ... mas isso só tu é que podes saber ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now