Foros del Web » Programando para Internet » PHP »

Problema al eliminar categoria y los productos contenidos en ella

Estas en el tema de Problema al eliminar categoria y los productos contenidos en ella en el foro de PHP en Foros del Web. Tengo estas tablas cada una con su respectivo formulario para añadir,editar,eliminar Cita: create table producto( codprod int(5)not null auto_increment primary key, nomprod varchar(35)not null, precio ...
  #1 (permalink)  
Antiguo 25/01/2008, 16:59
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Pregunta Problema al eliminar categoria ¿Enviar mensaje?

Tengo estas tablas cada una con su respectivo formulario para añadir,editar,eliminar
Cita:
create table producto(
codprod int(5)not null auto_increment primary key,
nomprod varchar(35)not null,
precio numeric(6,2)not null,
codcateg char(2)not null
);

create table categoria(
codcateg int(2)not null auto_increment primary key,
nomcateg varchar(30)not null,
);

Mi pregunta es cuando elimino un registro de la tabla categoria y esta contiene registros de la tabla producto como hago para enviar un mensaje donde se indique que no puedo eliminar la categ. por que contiene registros relacionados a la tabla producto.
Me parece que tendria que aplicar un if al codigo pero como hago la comprobacion de la categoria contiene registros de otra tabla relacionado mediante el codigo

Código PHP:
<?
include('cnx.php');
if(isset(
$HTTP_GET_VARS['cod']))
{
//recojo las Variables
$cod $HTTP_GET_VARS['cod'];
  
//Reviso si desea actualizar o borrar un Producto
  
if(isset($HTTP_POST_VARS['grabar']))
  { 
//Actualiza Producto
  //recojo las Variables
  
$v1 =  $HTTP_POST_VARS['nomcateg'];
  
$update="UPDATE categoria SET nomcateg='$v1' WHERE codcateg=$cod";
   
// establecemos la conexion con el servidor
   
db_connect();
   
//Actualizamos el registro
     
if(!mysql_query($update))
     {
        echo 
"algo paso";
        echo 
mysql_errno().": ".mysql_error()."<BR>"
        echo 
"<BR>SQL=$update";
        exit();
     }
   }
elseif(isset(
$HTTP_POST_VARS['eliminar']))
{  
//Elimina Producto
$delete="DELETE FROM categoria WHERE codcateg=$cod";
# establecemos la conexión con el servidor
db_connect(); 
#Actualizamos el registro
mysql_query($delete);
}
}
header("Location: categorias.php");
exit();
?>

Última edición por franko1809; 26/01/2008 a las 22:40
  #2 (permalink)  
Antiguo 25/01/2008, 17:02
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Re: Eliminar categoria y su contenido con php

Pues en teoría así funciona, que es lo que falla?
  #3 (permalink)  
Antiguo 25/01/2008, 17:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Eliminar categoria y su contenido con php

Lo que tienes que hacer es primero seleccionar todos los productos que concuerden con esa categoría y posteriormente ciclar y borrar cada uno de esos registros, y al final borrar la categoría indicada.

Saludos.
  #4 (permalink)  
Antiguo 25/01/2008, 17:09
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Re: Eliminar categoria y su contenido con php

Me explico mejor tengo 2 formularios 1 para eliminar categorias y 1 para eliminar productos.

1.-Al eliminar registros de la tabla producto atravez del formulario no hay problema
2.-Al eliminar una categoria, los productos que pertenecen a esa categoria quedan al aire
es decir al no existir esa categoria ya no me sirven por decirlo asi.
3.-Al eliminar una categoria desde su respectivo formulario como envio un mensaje de que hay registros relacionado a otra tabla o eliminar los registros de la tabla productos y luego la categoria

saludos

Última edición por franko1809; 26/01/2008 a las 22:38
  #5 (permalink)  
Antiguo 25/01/2008, 17:33
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Re: Eliminar categoria y los productos contenidos en ella

Mmmm, seria mejor que plantearas todo con tu código, si quisieras mostrarlo y ver lo que falta...
  #6 (permalink)  
Antiguo 25/01/2008, 21:46
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Re: Problema al eliminar categoria y los productos contenidos en ella

subi todo el codigo en la parte de arriba espero su ayuda

salu2

Última edición por franko1809; 26/01/2008 a las 22:26
  #7 (permalink)  
Antiguo 26/01/2008, 22:39
 
Fecha de Ingreso: enero-2008
Ubicación: Lima - Perú
Mensajes: 1.127
Antigüedad: 16 años, 3 meses
Puntos: 10
Re: Problema al eliminar categoria y los productos contenidos en ella

Algun master que haya entendido mi pregunta?
  #8 (permalink)  
Antiguo 27/01/2008, 00:30
Avatar de _ssx  
Fecha de Ingreso: mayo-2003
Ubicación: mX
Mensajes: 683
Antigüedad: 21 años
Puntos: 60
Re: Problema al eliminar categoria y los productos contenidos en ella

Tal vez solo es del que le pienses un poquito más... primero podria ser que hicieras un SELECT con el ID de la categoria.. y busques los productos.. y les des delete.. y despues borras la categoria como te dijo GATORV...

Código PHP:
elseif(isset($HTTP_POST_VARS['eliminar']))
{  
//Elimina Producto
db_connect(); 
//Primero buscas en tu tabla productos si existen productos relacionados
$consulta mysql_query("SELECT * FROM producto WHERE codcateg=$cod");
if(
mysql_num_rows($consulta)>0)
{
//Existen registros. y avisas o los borras con un delete..
$deleteproductos="DELETE FROM producto WHERE codcateg=$cod";
mysql_query($deleteproductos);
}
//Ya borras la categoria
$delete="DELETE FROM categoria WHERE codcateg=$cod";
# establecemos la conexión con el servidor
db_connect(); 
#Actualizamos el registro
mysql_query($delete);
}
}
header("Location: categorias.php");
exit(); 
__________________
Escribe tu código de forma que refleje, y saque a relucir,lo mejor de tu carácter personal
www.oscararzola.com/blog
Principios de un programador
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:37.