Foros del Web » Programando para Internet » PHP »

Delete u poco extraño

Estas en el tema de Delete u poco extraño en el foro de PHP en Foros del Web. Bueno, yo tengo la tabla caracteristicas, si hago un delete me elimina la caracaterística y todas los hijos, ...., pero ¿y si yo lo que ...

  #31 (permalink)  
Antiguo 15/09/2009, 05:20
Avatar de anibalag85  
Fecha de Ingreso: marzo-2009
Mensajes: 52
Antigüedad: 16 años
Puntos: 1
Respuesta: Delete u poco extraño

Bueno, yo tengo la tabla caracteristicas, si hago un delete me elimina la caracaterística y todas los hijos, ...., pero ¿y si yo lo que quiero es mirar todos los productos que están en una categoría o en sus hijos?. Mi idea es el poder hacer clic en una categoria y que se vean todas las subcategorias (categorias hijo) y todos lo productos pertenecientes a ellas. Estos productos están en otra tabla, puedo hacer un join, pero primero tengo que coger la caracteristica y todos sus hijos, y ahí está el problema.
Espero haber sido mas claro ahora.
Gracias compañeros
  #32 (permalink)  
Antiguo 15/09/2009, 05:31
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 16 años, 1 mes
Puntos: 360
Respuesta: Delete u poco extraño

te entiendo. Pero esto no es posible.
Las sentencias on delete cascade y on update cascade tienen como objetivo, evitar la violación de integridad referencial al tratar de borrar o hacer cambios en tablas donde hay dependencias.

Como un select no altera la estructura de la taba, no es posible incluirse de este modo.

Esto te toca hacerlo manualmente.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #33 (permalink)  
Antiguo 15/09/2009, 05:32
Avatar de anibalag85  
Fecha de Ingreso: marzo-2009
Mensajes: 52
Antigüedad: 16 años
Puntos: 1
Respuesta: Delete u poco extraño

Perdón, pero acabo de comentar y no ha aparecido mi comentario, lo que quería decir es que lo que yo pretendo es seleccionar los productos que pertenecen a una caracteristica y/o a sus hijos. De tal modo que yo quiero seleccionar una caracteristica y que me aparezca en un listado todos sus hijos, hijos de sus hijos, etc., y los productos que tienen, y lo primero que tengo que averiguar es cuando hago clic en la característica como selecciono todos sus hijos ..., para hacerle un join con la tabla de productos.
Un saludo
  #34 (permalink)  
Antiguo 17/09/2009, 03:56
Avatar de anibalag85  
Fecha de Ingreso: marzo-2009
Mensajes: 52
Antigüedad: 16 años
Puntos: 1
Respuesta: Delete u poco extraño

Joer no lo consigo, os explico:
Tengo una tabla categorias y una productos de esta forma:

------------------------------------
| Categorias_Productos |
------------------------------------
| Cod_Categoria (INT) |
| Id_CategoriaPadre (INT) |
| Nombre (VAERCHAR(45)) |
------------------------------------

----------------------------------
| Productos |
----------------------------------
| Cod_Producto (INT) |
| Titulo(VAERCHAR(45)) |
| Id_CategoriaPadre (FK) |
| Cod_Categoria (FK) |
----------------------------------

Lo que yo pretendo hacer es un select donde yo le pase un codigo de categoria(Cod_Categoria) y me devuelva los datos todos los productos de esa categoria, las categorias hijas....., y todos los productos de las categorias hijas, y las hijas de las hijas, etc......

Se que estoy siendo muy pesado, pero es que como habeis comprobado llevo tiempo con esto y no soy capaz de resolverlo.

Gracias a todos

Última edición por anibalag85; 17/09/2009 a las 04:01
  #35 (permalink)  
Antiguo 17/09/2009, 06:18
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 16 años, 1 mes
Puntos: 360
Respuesta: Delete u poco extraño

anibalag85...
ahora no tengo mucho tiempo y no estaré en todo el día, pero te dejo este link.
http://dev.mysql.com/doc/refman/5.1/...age-table.html

Esta tabla en information_schema de mysql permite establecer a que tabla está relacionada una llave foranea.
Haz pruebas y si tienes problemas, mañana en la mañana te colaboro con un ejemplo mas explicito.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #36 (permalink)  
Antiguo 18/09/2009, 03:48
Avatar de anibalag85  
Fecha de Ingreso: marzo-2009
Mensajes: 52
Antigüedad: 16 años
Puntos: 1
Respuesta: Delete u poco extraño

Que va huesos52, no me sirve mucho, me haría falta una cosa así como el delete cascade, pero que sea un select, igual que el delete cascade coge la categoria, todos sus hijos y los productos cuya clave sea la de una de las anteriores, me aría falta una sentencia que coja todas las gategorias, sus hijos, y los productos cuyas claves sean la de esas características, es po un tema de borrar fotos por ftp, si no tengo los datos antes de hacer el delete no puedo borrar las fotos.

Gracias por lo que estais haciendo por mi

saludos
  #37 (permalink)  
Antiguo 18/09/2009, 08:26
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 16 años, 1 mes
Puntos: 360
Respuesta: Delete u poco extraño

Obviamente con el link que te pasé no puedes hacer mucho. pero si podrías hacer una función en mysql apoyandote de la info ahí mostrada.
Podrías desde php hacer una consulta que recorra tabla por tabla y pregunte si el constraint existente pertenecece al constraint a borrar. Si lo encuentra que lo pase a un arreglo o aalgo por el estilo, para luego mostrarlo.

Es una idea.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
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 13:10.