Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   problemas al eliminar el id del producto (https://www.clubdelphi.com/foros/showthread.php?t=57341)

lakers 12-06-2008 09:08:13

problemas al eliminar el id del producto
 
hola muy buenas a todos ¿?
qué tal estáis maestros espero que bien :p
tengo un formulario para eliminar los productos de la bd,y me funciona
kdo le envio id del producto a eliminar pero kdo inserto un id que no existe en la bd me sale el mensage de que el producto ha sido eliminado aunque éste id no existe en la base de datos.
forumulario para eliminar.
Código PHP:

<select name="namecat">
    <
option value="criterios">elige una categoria</option>
    <
option value="catego1">informática</option>
       <
option value="catego2">ciencias humanas</option>
    <
option value="catego3">literatura</option
 </
select>
 <
tr>
  <
td width="36%"><b>id del producto</b></td>
  <
td width="64%">
  <
div align="center">
  <
input type="text" name="idproducto" size="20"

formulario para action.
Código PHP:

 
$c
=mysql_connect("localhost","","host") or die("<h2> problemas al establecer la conexión</h2>");
   
$d=mysql_select_db("libros") or die ("<h2>problemas al seleccionar la base de datos</h2>");
   if(
$namecat=="catego1")
   {
     
$query="delete from catego1 where id='".$idproducto."'";
     if(
mysql_query($query)){
        echo 
"<h2>!!borrado el registro de la tabla de catálogos correpondiente¡¡</h2>";}  
     else{ 
        echo 
"<h2>!!no se encuentra el registro en la tabla</h2>";}
   } 
   if(
$namecat=="catego2")
   {
     
$query="delete from catego2 where id='".$idproducto."'";
     
$r=mysql_query($query);
  if(
$r){
        echo 
"<h2>!! borrado el registro de la tabla de catálogos correspondiente¡¡</h2>";}  
     else {
        echo 
"<h2>!!no se encuentra el registro en la tabla</h2>";}
   } 
   if(
$namecat=="catego3")
   {
     
$query="delete from catego3 where id='".$idproducto."'";
     if(
mysql_query($query)){
        echo 
"<h2>!!borrado el registro de la tabla de catálogos correspondiente¡¡</h2>";}  
     else{ 
        echo 
"<h2>!!no se encuentra el registro en la tabla</h2>";}
   } 

en la espera de sus respuestas les saludos atentamente.
muchisima gracias por vuesta ayuda de antemano

roman 12-06-2008 15:59:51

mysql_query sólo devuelve false en caso de un error, e intentar borrar un registro que no existe no es un error. Debes usar mysql_affected_rows para saber cuántos registros se borraron:

Código PHP:

<?php
$query 
"delete from catego1 where id='".$idproducto."'";
mysql_query($query);

if(
mysql_affected_rows() > 0)
{
    echo 
"<h2>!!borrado el registro de la tabla de catálogos correpondiente¡¡</h2>";
}  
else

    echo 
"<h2>!!no se encuentra el registro en la tabla</h2>";
}
?>

// Saludos

lakers 12-06-2008 18:11:15

hola gracias
roman si acabo de probar si funciona a la perfección;
cosas que pasan a los novatos:D
gracias.


La franja horaria es GMT +2. Ahora son las 17:22:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi