Tabla Categoria:
idcategoria--------Autonumérico
nombrecat--------Nombre de la Categoría
Tabla Productos:
idproducto--------Autonumérico
nombre--------Nombre del producto
imagen--------Ruta del directorio donde se guarda el producto(ejemplo: productos/boligrafo.jpg)
categoriaid--------Categoria a la que pertenece el producto
Como podréis observar en la tabla 'productos' sólo guardo la ruta de las imágenes que a su vez se guardan estas imágenes en el directorio 'productos' del servidor.
bien. yo lo que quiero ahora es que al eliminar una categoría se elimine no solo la categoría y los productos asociados a ella si no que además se eliminen las imágenes de esos productos del servidor.
lo hago (o trato de hacer con UNLINK) así tengo:
////rescato el id de la categoria a eliminar y ahora elimino
$id = $_GET ['id'];
mysql_query("DELETE FROM categorias WHERE idcategoria='$id'");
Con lo anterior, queda eliminada la categoría. Ahora voy a eliminar los productos asociados a esa categoría y además la imagen en el servidor.
$sql="SELECT imagen FROM productos WHERE categoriaid='".$id."'";
$resultado=mysql_query($sql) or die (mysql_error());
$imagen=mysql_result($resultado,0,"imagen");
Con lo anterior lo que trato de obtener es la variable $imagen, que va a recoger la ruta del producto en el servidor. Una vez obtenida, la borro a través de unlink
unlink($imagen);
borrada la imagen del servidor, borro el registro en la tabla productos:
mysql_query("DELETE FROM productos where categoriaid='$id'") or die(mysql_error());
header("Location: exito.php");
///////////////////////////////////////////////////////
Bien. pues lo hace todo excepto eliminar la imagen del servidor mediante unlink. sabéis por qué? gracias a todos/as


